
Dicionários em Python são como listas telefônicas, onde você encontra informações (valores) usando chaves. Eles são super úteis para organizar e acessar dados de forma eficiente. Vamos aprender como criar, usar e dominar os dicionários!
Introdução
No último post aprendemos como criar e utilizar funções no python. Neste post, vamos explorar o que são dicionários, como funcionam e por que são tão importantes.
No mundo da programação, organizar dados é crucial. Imagine tentar encontrar uma receita específica em um livro de culinária sem índice! Os dicionários em Python são como índices superpoderosos que nos permitem armazenar e acessar informações de forma rápida e organizada.
📖 O que são Dicionários?
Dicionários, também conhecidos como “dicts” em Python, são estruturas de dados que armazenam pares de “chave-valor”.
- Chave: É um identificador único para o valor. Pode ser uma string, número ou tupla (veremos tuplas em outro post!).
- Valor: É a informação que você quer armazenar. Pode ser qualquer tipo de dado Python: número, string, lista, outro dicionário, etc.
🛠️ Criando um Dicionário
Criar um dicionário é bem simples. Usamos chaves {} para definir um dicionário vazio ou para inicializá-lo com alguns pares chave-valor.
# Dicionário vazio
meu_dicionario = {}
# Dicionário com alguns dados
lista_telefonica = {
"Alice": "1234-5678",
"João": "4321-8765"
}
print(lista_telefonica) # Output: {'Alice':'1234-5678','João':'4321-8765'}
🔑 Acessando Valores
Para acessar um valor em um dicionário, usamos a chave correspondente entre colchetes [] ou o método .get(chave).
lista_telefonica = {
"Alice": "1234-5678",
"João": "4321-8765"
}
# Acessando valor com colchetes []
numero_da_alice = lista_telefonica["Alice"]
# Acessando valor com o método get()
numero_do_joao = lista_telefonica.get("João")
print(numero_da_alice) # Output: 1234-5678
print(numero_do_joao) # Output: 4321-8765
➕ Adicionando e Modificando Valores
Adicionar um novo par chave-valor ou modificar um valor existente é igualmente fácil.
lista_telefonica = {
"Alice": "1234-5678",
"João": "4321-8765"
}
# Adicionando um novo par
lista_telefonica["Luiz"] = "4444-4444"
# Modificando um valor existente
lista_telefonica["Alice"] = "2234-5678"
print(lista_telefonica)
# Output: {'Alice':'2234-5678','João':'4321-8765','Luiz':'4444-4444'}
🗑️ Removendo Valores
Para remover um par chave-valor, usamos a palavra-chave del.
lista_telefonica = {
"Alice": "1234-5678",
"João": "4321-8765"
}
del lista_telefonica["João"]
print(lista_telefonica) # Output: {'Alice':'1234-5678'}
🔄 Iterando em um Dicionário
Podemos iterar sobre as chaves, os valores ou ambos em um dicionário.
lista_telefonica = {
"Alice": "1234-5678",
"João": "4321-8765"
}
# Iterando sobre as chaves
for chave in lista_telefonica:
print(chave)
# Iterando sobre os valores
for valor in lista_telefonica.values():
print(valor)
# Iterando sobre chaves e valores
for chave, valor in lista_telefonica.items():
print(f"Chave: {chave}, Valor: {valor}")
📝 Exemplo Prático: Cardápio de um Restaurante
Vamos criar um dicionário para representar o cardápio de um restaurante.
cardapio = {
"pizza": 35.00,
"hamburguer": 20.00,
"salada": 15.00,
"suco": 8.00
}
# Imprimindo o cardápio
print("Cardápio do Restaurante:")
for prato, preco in cardapio.items():
print(f"- {prato}: R$ {preco:.2f}")
# Calculando o total de um pedido
pedido = ["pizza", "hamburguer", "suco"]
total = 0
for item in pedido:
# O operador 'in' verifica se o 'cardapio' contem a chave 'item'
if item in cardapio:
total += cardapio[item]
else:
print(f"Item '{item}' não encontrado no cardápio.")
print(f"Total do pedido: R$ {total:.2f}")
Ao mostrar o total do pedido utilizamos uma técnica de formatação de números flutuantes no python {total:.2f}, o que vem depois dos : indica ao python que queremos mostrar duas casas decimais do valor contido na variável total.
⚠️ Erros Comuns e Armadilhas
- KeyError: Ocorre quando você tenta acessar uma chave que não existe no dicionário. Use o método
get()para evitar esse erro. - Chaves Duplicadas: Dicionários não permitem chaves duplicadas. Se você tentar adicionar uma chave já existente, o valor anterior será sobrescrito.
- Chaves Imutáveis: As chaves de um dicionário devem ser imutáveis (strings, números, tuplas). Listas não podem ser usadas como chaves.
✨ Boas Práticas e Dicas Rápidas
- Use nomes de chaves descritivos para facilitar a leitura do seu código.
- Dicionários são ótimos para armazenar configurações, opções de usuário e outros dados que precisam ser acessados rapidamente.
- O método
get()nos permite informar um segundo valor como argumento, esse valor será retornado caso a chave não exista no dicionário.
Exemplo de código usando valor padrão com o método get():
lista_telefonica = {}
numero_do_lucas = lista_telefonica.get('Lucas', 'Número não encontrado!')
print(numero_do_lucas) # Output: Número não encontrado!
Conclusão
Dicionários são ferramentas poderosas para organizar e manipular dados em Python. Com este guia, você está pronto para começar a usá-los em seus projetos. No próximo post iremos aprender a organizar melhor o nosso código, criando e utilizando módulos.
Se você quer aprofundar ainda mais seus conhecimentos em Python, dê uma olhada no livro afiliado Curso Intensivo de Python: uma Introdução Prática e Baseada em Projetos à Programação. Lá você encontrará ainda mais exemplos práticos e projetos desafiadores para dominar a linguagem! Ao comprá-lo, você nos dá aquela força para que a gente continue trazendo conteúdo de qualidade para a comunidade.
Compre aqui “Curso Intensivo de Python: uma Introdução Prática e Baseada em Projetos à Programação”