// aula 03 · Python · Estruturas de Dados · Mundo 3
O que é um dicionário?
O Guanabara usa a analogia do dicionário real: você procura uma palavra (chave) e encontra sua definição (valor). Em vez de acessar por número como nas listas, você acessa por um nome que faz sentido — como "nome", "idade", "email".
{ }chave: valordict["chave"]dict.get("chave")Visualizando um dicionário
# Criando e acessando pessoa = { "nome": "Lucilia", "idade": 21, "cidade": "São Paulo", "dev": True, "curso": "Python" } print(pessoa["nome"]) # → Lucilia print(pessoa["idade"]) # → 21 print(pessoa.get("email", "N/A")) # → N/A (não existe, sem erro)
Adicionando, alterando e removendo
aluno = {"nome": "Lucilia", "nota": 8.5} # Adicionar nova chave aluno["turma"] = "A" # {"nome":"Lucilia","nota":8.5,"turma":"A"} # Alterar valor existente aluno["nota"] = 9.0 # atualiza a nota # Remover uma chave del aluno["turma"] # remove "turma" nota = aluno.pop("nota") # remove e guarda o valor # Verificar se chave existe if "nome" in aluno: print("Chave encontrada!")
Principais métodos
Retorna todas as chaves do dicionário.
Retorna todos os valores do dicionário.
Retorna todos os pares chave-valor como tuplas.
Retorna o valor ou o padrão se a chave não existir. Evita erros.
Mescla outro dicionário no atual, atualizando valores.
Remove todos os itens do dicionário, deixando-o vazio.
pessoa = {"nome": "Lucilia", "idade": 21, "curso": "Python"} # Percorrendo chaves e valores juntos for chave, valor in pessoa.items(): print(f"{chave}: {valor}") # nome: Lucilia # idade: 21 # curso: Python # Dict comprehension quadrados = {n: n**2 for n in range(1, 6)} print(quadrados) # → {1:1, 2:4, 3:9, 4:16, 5:25}
Dicionários aninhados
O valor de uma chave pode ser qualquer tipo, inclusive outro dicionário. Muito usado para representar objetos complexos do mundo real.
turma = { "aluno1": {"nome": "Lucilia", "nota": 9.0}, "aluno2": {"nome": "Carlos", "nota": 7.5}, "aluno3": {"nome": "Ana", "nota": 8.0}, } print(turma["aluno1"]["nome"]) # → Lucilia print(turma["aluno2"]["nota"]) # → 7.5 for id, aluno in turma.items(): print(f"{aluno['nome']}: {aluno['nota']}")