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:
- Chave → Valor
- "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.
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.
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
-
Acessar Slides
-
Quiz
-
Exercícios
-
Projeto