Dicionários Python: Organize seus Dados como um Chef

Lista telefônica aberta. Na página da esquerda vemos o ícone do python. Na página da direita vemos dois contatos como exemplo, Alice com número 1234-5678 e João com número 4321-8765.

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”

Rolar para cima