Criação de dicionário Python: aprenda para que serve e como fazer

Um dicionário Python é uma coleção com elementos chave-valor que permite representar melhor o mundo real. É útil para projetos complexos. Entenda mais.


Estruturas de dados são importantes auxiliares para as pessoas que programam sites e aplicações. Elas permitem guardar valores e manipular dados recebidos de uma forma prática e legível, com a possibilidade de controlar grandes coleções de dados de modo organizado. Em Python, se destacam as estruturas que chamamos de coleções, como listas, tuplas e, especialmente, dicionários.

O dicionário Python é uma estrutura muito poderosa para superar limitações clássicas das famosas listas encadeadas, sendo portanto uma coleção muito utilizada.

Assim, quem deseja avançar na programação nessa linguagem precisa conhecer muito esse termo e saber como gerenciar um dicionário corretamente com os métodos certos.

Para entender melhor esse assunto, não deixe de conferir com atenção cada tópico a seguir.

Para que servem os dicionários Python?

Os dicionários Python são uma coleção que guarda valores multidimensionais para cada índice. Diferentemente de uma lista encadeada, que guarda apenas um valor por vez. Assim, é possível gerar estruturas mais complexas que simulam melhor a realidade e conseguem mapear instâncias do mundo real em um programa de software.

É uma coleção que consiste em chaves e valores correspondentes, quase como uma associação entre dois conjuntos. É também uma coleção ordenada, mutável, indexada e que não possibilita a inserção de elementos repetidos.

Um bom exemplo para ilustrar um dicionário é um próprio dicionário de tradução de termos de um idioma para outro. Em cada entrada, há sempre um termo correspondente, ou seja, uma chave e um valor. Para acessar um determinado valor, você pode digitar a sua chave (que funciona como um identificador) como uma forma de busca. 

Usa-se também a ideia de uma lista de contatos, em que as chaves são os nomes das pessoas e os valores são os telefones. 

Uso prático

Um uso interessante que pode ser feito é em um sistema de recomendação de filmes bem simples. Nesse sistema, é preciso mapear o nome das pessoas e as notas que elas deram para certos filmes. Então, calcula-se a proximidade dessas notas (a semelhança) com as notas de outra pessoa para, finalmente, recomendar filmes de uma para a outra.

Digamos que temos uma pessoa X e uma pessoa Y. X viu três filmes e atribuiu certas notas. Os filmes e as notas de X podem ser guardados em um dicionário. Y viu três filmes, sendo que dois são similares aos de X. É possível então fazer comparações das notas de X e Y usando como identificador o nome do filme (que é o mesmo).

Ao calcular a similaridade, pode-se recomendar um filme que não está no dicionário de Y para essa pessoa Y. 

Para exemplificar, vamos imaginar dois dicionários: o de Jonas e um para Maria. Jonas viu os filmes A, B, C e deu notas para cada um.

O dicionário de três elementos seria:

filmes_Jonas =  {“A”: nota, “B”: nota2, “C”:nota3}

E Maria viu os filmes A, B e D.

filmes_Maria =  {“A”: nota, “B”: nota2, “D”:nota3}

Cálculos seriam feitos para descobrir a similaridade dos dois. Caso fosse provado que eles são similares, o sistema recomendaria o filme C para a Maria. Nesse caso, o uso de dicionário facilita a busca por dados dentro da estrutura.

Nova call to action

Diferença das listas

Um dicionário Python difere totalmente das listas, em que a pessoa programadora precisaria saber um índice numérico. Ou até mesmo das tuplas. Desse modo, torna-se uma coleção especial, adaptada para certas representações mais complexas.

A principal distinção para as listas é a questão da dimensão para cada elemento. Cada componente da coleção é composto por dois subelementos associados. 

Cada um pode ser o identificador para encontrar o outro, como já pontuamos algumas vezes. Percorrer uma lista é diferente de percorrer um dicionário, assim como buscar itens também se torna diferente.

Vantagens e desvantagens de usar dicionários Python

Uma das vantagens dos dicionários é a proximidade com bases de dataset que são usadas em projetos de Machine Learning e Ciência de Dados. Nesse tipo de projeto, geralmente as pessoas programadoras usam tabelas, que são matrizes de dados. Um dicionário em Python é uma ótima forma de representar uma matriz. Para isso, é preciso criar um dicionário de tuplas.

Além disso, ao aprender a lógica por trás de uma coleção mais complexa como essa, a pessoa estudante de Python facilmente se adapta a dataframes e a estruturas que são usadas em Data Science. Desse modo, o aprendizado para gerenciar algoritmos de ML e projetos desse universo se torna mais fácil e ágil.

Outro benefício é a facilidade de manipulação com esse tipo nativo do Python. A linguagem traz uma série de possibilidades para criar, editar e remover dicionários de maneira muito simples de aprender. 

Assim, torna-se uma estrutura fácil de gerenciar, que não desprende muito tempo da pessoa programadora. (veremos nos próximos tópicos os métodos para gerenciar e manipular esse tipo de coleção)

Por ser uma coleção multidimensional, o dicionário se torna uma estrutura perfeita para armazenar vários sobre um objeto e gerar uma relação entre eles. Diferentemente do que se pode fazer com uma lista. 

Caso você tenha uma instância Pessoa1, pode-se trabalhar com as características de uma pessoa: cor dos olhos e o valor, cor de pele e o valor, nome e o valor, idade e o valor, etc. 

É uma forma similar a uma classe em linguagens orientadas a objetos, só que de uma forma bem mais simples de visualizar e gerenciar. 

O fato de que você não precisa saber o índice de um item nem mesmo se preocupar em percorrer a coleção para descobrir índices é também uma ótima vantagem. Afinal, as pessoas que fizerem manutenção no código não precisarão fazer esse trabalho e podem facilmente descobrir os valores associados aos identificadores. 

Ou seja, a programação compartilhada se torna mais eficiente, com base em maior legibilidade. Você pode trabalhar com termos comuns do dia a dia para encontrar valores dentro da coleção, sem grandes dificuldades.

Como desvantagem, podemos mencionar que os dicionários são uma estrutura mais complexa e isso pode pesar em projetos mais simples. Em casos em que uma lista ou uma tupla resolvem, é preferível evitar lidar com uma forma de organização mais robusta. 

Outro fator é a falta de ordenação, que também se torna um problema a depender da situação. Há casos em que é necessário contar com elementos em ordem, como em uma lista, então o arranjo estrutural deve ser diferente do que um dicionário pode oferecer. 

Como criar e manipular um dicionário Python

Neste tópico, vamos entender como criar um dicionário Python e como manipular a estrutura para diversos fins.

Como sempre em Python, temos formas simples de iniciar um dicionário. Aqui, destacamos duas.

Uma delas é nomeando os elementos de forma direta, como com uma variável.

dicionario = {“a”: 1, “b”: 2}

Nesse caso, a chave “a” contém o valor 1, ao passo que a chave “b” contém o valor 2. 

A outra forma de resolver isso é usando o método dict:

dicio = dict(primeiro=1, segundo=2, terceiro=3)

Depois de criado, você vai precisar acessar os elementos do seu dicionário em Python. Para isso, você pode usar tanto a chave quanto o valor como identificador.

Nesse caso a seguir, recebendo o valor da chave “a” em uma variável “v”.

v = dicionario[“a”]

Outra forma seria:

v = dicionario.get(“a”)

Com a função print, você consegue exibir na tela:

print(dicionario[‘a’])

Já para percorrer uma coleção desse tipo, pode-se usar o loop For:

pc = {'CPU': 'Intel', 'RAM': '8gb', 'SSD': '250bg'}

for chave in pc.keys():

print(f'Chave = {chave} e v = {pc[chave]}')

Já para deletar um elemento do dicionário:

pessoa = {'nome': 'Matheus', 'idade': 18, 'tamanho': 1.60}

del pessoa['tamanho']

print(pessoa)

11 métodos nativos de dicionários que você pode usar em Python

Agora vamos comentar os principais métodos que você precisa saber para programar com dicionários em Python.

1. Keys

Esse método retorna todas as chaves do dicionário em uma lista.

2. Values

Retorna todos os valores do dicionário em uma lista.4

3. Items

Retorna todos os valores e chaves relacionadas.

4. HasKey

Procura se existe uma chave dentro do dicionário Python.

5. Clear

Remove todos os elementos do dicionário.

6. Get

Pega o conteúdo de cada chave.

7. Update

Serve para concatenar dicionários e atualizar os elementos de um com componentes de outro.

8. Pop

Remove um elemento especificado do dicionário e o retorna.

9. Len

Usado para descobrir o tamanho de uma coleção do tipo dicionário.

10. Copy

Copia os elementos de um dicionário para inserir em outro.

11. fromkeys()

Cria um novo dicionário com as chaves especificadas como parâmetro.

...

Como vimos, os dicionários em Python são uma ótima ferramenta para lidar com instâncias do mundo real e criar representações fiéis. Se destacam de outras coleções como listas e tuplas, pois apresentam elementos multidimensionais e permitem representar componentes mais complexos de forma fácil de gerenciar. 

Assim, são úteis para controlar dados maiores de uma forma legível para a programação compartilhada.

O uso de dicionários Python é uma boa prática, pois facilita até mesmo a busca por itens em coleções. Por essa razão, é fundamental entender melhor esse tipo de conjunto de dados e saber como gerenciá-lo para obter melhores resultados em problemas da vida real.

Quer se desenvolver no mercado digital e desenvolver as habilidades requisitadas pelas empresas de tecnologia? Conheça os cursos da Tera!

Clique aqui para conhecer a Plataforma Tera para aprender novas habilidades no seu ritmo nas áreas de Produto, Negócios, Liderança, Design, Dados, Inteligência Artificial, Marketing e Tecnologia