9 minutos de leitura

Dicionários em Python: o que são e como utilizar

Por Renata Lopes
Conteúdos do artigo

Aprenda o que são dicionários em Python, como criar e usar essa estrutura de dados poderosa em seus programas

Se você está começando a programar em Python, já deve ter se deparado com estruturas como números, variáveis, strings e listas. Cada uma delas nos permite manipular e armazenar dados de uma maneira específica.

Mas também existe um tipo de estrutura de dados chamada “dicionário“. Os dicionários fornecem mais uma alternativa para manipular e armazenar dados. Cada estrutura de dados tem suas próprias especificidades e pontos fortes, e os dicionários não são diferentes.

Mas o que exatamente é um dicionário em Python e como utilizá-lo?

Neste artigo, vamos introduzir o que você precisa saber para começar a utilizar essa estrutura de dados em seus programas.

O que é dicionário em Python?

Um dicionário em Python é uma estrutura de dados que permite armazenar pares de dados, os quais chamamos de par chave-valor. Cada elemento no dicionário consiste em uma chave e um valor associado a essa chave.

As chaves em um dicionário são únicas e podem ser de diferentes tipos de dados, como strings, inteiros ou floats. A única restrição é que chaves não podem ser de um tipo de dado mutável, como listas. Já os valores podem ser qualquer tipo de dado do Python, como uma lista, um inteiro, um string, um float, etc.

Há uma analogia que pode ser feita entre dicionário em Python e dicionário escolar tradicional. Enquanto que, em um dicionário tradicional, cada palavra está associada à sua definição, em dicionários no Python, cada chave está associada a seu valor. E, da mesma forma como cada palavra aparece uma única vez no dicionário (ainda que esteja associada a múltiplas definições), cada chave em Python é única (ainda que seu valor associado seja uma lista ou tupla).

Como criar um dicionário em Python?

Para criar um dicionário em Python, basta utilizar chaves ({}) e inserir os pares de chave-valor separados por vírgula. Por exemplo:

meu_dicionario = {"nome": "Paulo", "idade": 29, "filhos": ["João", "Maria"]}

Acima, criamos um dicionário chamado meu_dicionario com três pares de chave-valor: a chave “nome” associada ao valor “Paulo”, a chave “idade” associada ao valor 29 e a chave “filhos” associada a uma lista contendo os valores “João” e “Maria”.

É importante destacar que esses valores em um dicionário são variáveis, portanto podem ser alterados a qualquer momento. Para alterarmos o valor associado à chave “idade”, por exemplo, podemos usar a seguinte sintaxe:

meu_dicionario["idade"] = 31

Note que o valor previamente associado à chave “idade” (o inteiro 29) foi substituído. Isso é decorrência do fato de que chaves de dicionários são únicas, portanto a chave idade só pode estar associada a um único valor por vez.

Através da mesma sintaxe, também é possível definir valores dentro do dicionário sem que eles existam previamente. Por exemplo:

meu_dicionario["cidade"] = "São Paulo"

Com isso, adicionamos um novo par de chave-valor ao dicionário meu_dicionario, com a chave “cidade” associada ao valor “São Paulo”.

Diferença entre listas e dicionários em Python

Tanto listas quanto dicionários são coleções de dados em Python. A principal diferença entre eles é como os dados são armazenados e acessados.

As listas armazenam dados em uma ordem específica e os acessamos usando índices numéricos. Por exemplo:

minha_lista = ["maçã", "banana", "laranja"]
print(minha_lista[1]) # "banana"

Os dicionários, por outro lado, armazenam dados como pares chave-valor e os acessamos usando as chaves. Por exemplo:

meu_dicionario = {"maçã": 0.5, "banana": 0.25, "laranja": 0.75}
print(meu_dicionario["banana"]) # 0.25

Ou seja, enquanto uma lista é acessada por índice, um dicionário é acessado pela chave.

Outra diferença é o tipo de erro exibido quando se acessa um elemento inexistente. Listas emitem um erro de índice (IndexError) quando acessamos valores além do tamanho da lista, enquanto dicionários emitem um erro de chave (KeyError) quando buscamos por uma chave inexistente. Prestar atenção nessa diferença é bastante útil quando estamos trabalhando com uma coleção, sem saber exatamente se estamos lidando com uma lista ou com um dicionário.

Principais métodos de dicionário Python

Os dicionários Python possuem vários métodos úteis que podem ser usados para acessar e manipular os dados armazenados. Abaixo estão alguns dos métodos mais comuns que você pode encontrar ao trabalhar com dicionários:

  • keys(): retorna uma sequência contendo todas as chaves do dicionário.
  • values(): retorna uma sequência contendo todos os valores do dicionário.
  • items(): retorna uma sequência de tuplas, em que cada tupla contém os pares de chave-valor do dicionário.
  • clear(): remove todos os itens do dicionário.
  • copy(): retorna uma cópia do dicionário.
  • get(chave, valor_padrao): retorna o valor associado à chave especificada, ou o valor padrão se a chave não existir. Isso evita o KeyError do qual falamos anteriormente, caso a chave não exista.
  • pop(chave, valor_padrao): remove e retorna o valor associado à chave especificada, ou o valor padrão se a chave não existir.
  • popitem(): remove e retorna o último par de chave-valor inserido no dicionário (em versões de Python anteriores a 3.7, o par retornado é aleatório).
  • update(outro_dicionario): atualiza o dicionário com os pares de chave-valor de outro dicionário, isto é, chaves novas são criadas e chaves existentes têm seu valor atualizado.

Para que servem os dicionários?

Por mais que pareçam simples, a flexibilidade dos dicionários permite que sejam usados para modelar diversas relações entre informações que existem na vida real. Por exemplo, podemos usar uma lista de dicionários para representar produtos de um site de E-Commerce:

produtos = [
    {'id': '2810', 'tipo': 'forno', 'ano': 2020},
    {'id': '9812', 'tipo': 'celular', 'ano': 2019},
    {'id': '7756', 'tipo': 'geladeira', 'ano': 2022},
]

Além disso, por serem muito similares à estrutura de arquivos JSON, é bastante comum utilizar dicionários para receber ou enviar dados através de APIs. Essa característica é um dos pontos centrais de Python, que possibilita a criação de diversas automações e sua integração entre sites e plataformas diferentes.

Conclusão

Os dicionários são uma estrutura de dados poderosa em Python que permite armazenar pares de chave-valor de forma eficiente e flexível. Eles são mutáveis, o que significa que você pode adicionar, remover e atualizar valores depois de criá-los.

Esperamos que este post tenha sido útil para ajudá-lo a entender o que são dicionários em Python e como utilizá-los em seus programas. Lembre-se de que a prática é a melhor forma de aprender a programar, então experimente criar seus próprios dicionários e utilizar os métodos apresentados aqui para explorar ainda mais essa estrutura de dados.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse:
Conteúdos do tutorial