Pular para conteúdo

Aula 08 - Dicionários

🎯 Objetivos da Aula

  • [ ] Entender a estrutura de dados Dicionário (dict)
  • [ ] Compreender o conceito de Chave-Valor (Key-Value)
  • [ ] Acessar, Adicionar e Remover itens
  • [ ] Percorrer dicionários com loops
  • [ ] Usar métodos úteis (keys, values, items, get)

📚 Conteúdo

1. O que são Dicionários?

Dicionários são coleções flexíveis onde armazenamos dados em pares Chave: Valor. Pense em um dicionário real: você procura uma palavra (chave) para encontrar seu significado (valor).

Em Python, usamos chaves {} (assim como sets), mas com a sintaxe chave: valor.

Estrutura: - ChaveValor - "nome""Ricardo" - "idade"30

# Criando um dicionário
aluno = {
    "nome": "Ricardo",
    "idade": 30,
    "curso": "Python",
    "aprovado": True
}

2. Acessando Valores

Diferente das listas (que usam índices 0, 1, 2), dicionários usam as chaves que você definiu.

print(aluno["nome"]) # Ricardo
print(aluno["idade"]) # 30

Erro Comum: Tentar acessar uma chave que não existe gera um KeyError. Para evitar isso, use o método .get():

print(aluno.get("email")) # None (não dá erro!)
print(aluno.get("email", "Não informado")) # Valor padrão

3. Adicionando e Modificando

É muito simples: basta atribuir um valor a uma chave. Se a chave já existe, atualiza. Se não, cria.

# Modificando
aluno["idade"] = 31

# Adicionando nova chave
aluno["nota"] = 9.5

print(aluno)
# {'nome': 'Ricardo', 'idade': 31, 'curso': 'Python', 'aprovado': True, 'nota': 9.5}

4. Removendo Itens

  • del dicionario["chave"]: Remove a chave e o valor.
  • .pop("chave"): Remove e retorna o valor.
del aluno["curso"]
nota = aluno.pop("nota")

5. Percorrendo Dicionários

Podemos usar loops para ver chaves, valores ou ambos.

pessoa = {"nome": "Ana", "cidade": "SP"}

# Loop pelas chaves (padrão)
for chave in pessoa:
    print(chave) # nome, cidade

# Loop pelos valores
for valor in pessoa.values():
    print(valor) # Ana, SP

# Loop por ambos (muito útil!)
for chave, valor in pessoa.items():
    print(f"{chave}: {valor}")

6. Listas de Dicionários (Estrutura Comum)

É muito comum ter uma lista onde cada item é um dicionário (como um banco de dados).

turma = [
    {"nome": "Ana", "nota": 8},
    {"nome": "Beto", "nota": 5},
    {"nome": "Carla", "nota": 10}
]

for aluno in turma:
    print(f"{aluno['nome']} tirou {aluno['nota']}")

💻 Em Prática

Vamos criar um pequeno sistema de cadastro de produtos.

# cadastro_produtos.py

produto = {}

produto["nome"] = input("Nome do produto: ")
produto["preco"] = float(input("Preço: "))
produto["estoque"] = int(input("Quantidade: "))

print("\n--- Resumo ---")
for k, v in produto.items():
    print(f"{k.capitalize()}: {v}")

print(f"Valor total em estoque: R$ {produto['preco'] * produto['estoque']:.2f}")

📝 Resumo

  • Dicionários usam {chave: valor}.
  • Chaves devem ser únicas e imutáveis (strings, números).
  • .get() é mais seguro que [] para acessar.
  • .keys(), .values() e .items() ajudam nos loops.
  • São a base para lidar com formatos como JSON e APIs.

🎯 Próximos Passos