Dicionários Python: Acessando Itens
Aprenda todas as formas de acessar itens de dicionários Python: notação de colchetes, get(), keys(), values(), items(), teste de pertença e acesso a dicionários aninhados.
Os dicionários Python armazenam dados como pares chave-valor. Saber como recuperar esses valores — e o que acontece quando uma chave está ausente — é a base do trabalho com qualquer dicionário. Este capítulo cobre todas as técnicas padrão de acesso: notação de colchetes, o método .get(), iteração com .keys(), .values() e .items(), e teste de pertença com in.
Notação de Colchetes
A forma mais direta de recuperar um valor é escrever o nome do dicionário seguido da chave entre colchetes.
Acessar um valor do dicionário pela chave
Python procura 'Bob' na tabela hash e retorna seu valor em tempo O(1), independentemente de quantas chaves o dicionário contém.
KeyError quando a chave está ausente
Se a chave não existir, Python lança um KeyError e interrompe a execução.
ages = {'Alice': 27, 'Bob': 34, 'Charlie': 45}
print(ages['Dave']) # KeyError: 'Dave'Sempre trate esse caso — seja verificando a pertença antes (veja a seção do operador in abaixo) ou usando .get() em vez disso.
O Método .get()
.get(key) retorna o valor de key se ele existir, e None caso contrário — nenhuma exceção é lançada.
Use .get() para acessar com segurança uma chave do dicionário
Fornecendo um valor padrão
Passe um segundo argumento para .get() para receber um valor de fallback em vez de None:
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
color = colors.get('orange', 'unknown')
print(color) # unknownEsta é a forma idiomática de acessar uma chave que pode ou não estar presente sem envolver seu código em um bloco try/except.
Teste de Pertença com in
Use o operador in para verificar se uma chave existe antes de acessá-la:
ages = {'Alice': 27, 'Bob': 34, 'Charlie': 45}
if 'Alice' in ages:
print(ages['Alice']) # 27
print('Dave' in ages) # False
print('Bob' in ages) # Truein testa apenas chaves, não valores. Executa em tempo O(1) porque os dicionários são baseados em hash.
Acessando Todas as Chaves, Valores e Itens
Os dicionários Python expõem três objetos de visão que permitem iterar ou inspecionar seu conteúdo sem construir uma lista separada.
.keys() — todas as chaves
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
print(colors.keys())
# dict_keys(['apple', 'banana', 'grape'])
for fruit in colors.keys():
print(fruit)
# apple
# banana
# grape.values() — todos os valores
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
print(colors.values())
# dict_values(['red', 'yellow', 'purple'])
for color in colors.values():
print(color)
# red
# yellow
# purple.items() — pares chave-valor
.items() retorna cada entrada como uma tupla (key, value). O desempacotamento de tuplas torna esta a visão mais útil para a maioria das tarefas de iteração:
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
for fruit, color in colors.items():
print(f'{fruit} is {color}')
# apple is red
# banana is yellow
# grape is purpleOs objetos de visão são dinâmicos — refletem o estado atual do dicionário. Se você adicionar ou remover uma chave após criar uma visão, ela será atualizada automaticamente.
Acessando Itens em um Dicionário Aninhado
Quando o valor de um dicionário é em si um dicionário, encadeie colchetes (ou chamadas .get()) para alcançar o valor interno.
Acessar valores em um dicionário aninhado
Para acesso mais seguro em múltiplos níveis, encadeie chamadas .get():
title = library.get('book4', {}).get('title', 'Not found')
print(title) # Not foundVeja o capítulo Dicionários Aninhados para um tratamento mais aprofundado de estruturas de dados com múltiplos níveis.
Escolhendo o Método de Acesso Correto
| Situação | Abordagem recomendada |
|---|---|
| A chave tem garantia de existir | d[key] — claro e rápido |
A chave pode estar ausente, None é aceitável | d.get(key) |
| A chave pode estar ausente, precisa de um fallback | d.get(key, default) |
| Verificar antes de acessar | if key in d: d[key] |
| Iterar todas as entradas | for k, v in d.items() |
O Que Vem a Seguir
Depois de saber como ler valores de um dicionário, os próximos passos naturais são:
- Adicionar Itens — inserir novos pares chave-valor
- Alterar Itens — atualizar valores existentes
- Iterar Dicionários — padrões de iteração em profundidade
- Métodos de Dicionário — referência completa dos métodos