Como iterar por meio de um dicionário em Python (chaves, valores e itens)

Aprenda como fazer loop ou iterar em um dicionário Python. Descubra métodos para fazer loop em chaves, valores e pares de valores-chave com exemplos limpos e executáveis.

Experimente esta solução no Editor

Visão geral

Iterar dicionários é uma tarefa fundamental na programação Python, pois os dicionários são amplamente usados para armazenar dados de valor-chave, como registros de banco de dados, cargas úteis de API e definições de configuração. Python fornece vários métodos intuitivos e integrados para percorrer dicionários, dependendo se você precisa das chaves, dos valores ou de ambos. Compreender esses métodos é crucial para escrever código limpo, eficiente e legível.

A maneira mais comum de iterar chaves e valores simultaneamente é usando o método `.items()`. Este método retorna um objeto de visualização contendo tuplas de pares chave-valor, que podem ser facilmente descompactados diretamente dentro de uma instrução de loop `for`. Geralmente, isso é preferível a iterar por meio de chaves e procurar valores manualmente, pois é mais legível e mais eficiente.

Se você precisar apenas de chaves, poderá fazer um loop diretamente no próprio dicionário ou usar o método `.keys()` explicitamente. Para iterar apenas sobre os valores, Python fornece o método `.values()`. Ambos os objetos de visualização são dinâmicos, refletindo quaisquer alterações feitas no dicionário, e suportam testes de associação usando o operador `in`.

Saída de código e execução

Este código demonstra a iteração em chaves, valores e pares de valores-chave de um dicionário.

iterate_dict.py
Experimente no Editor
user = {"username": "alice", "role": "admin", "active": "True"}

# 1. Iterate over keys and values using items()
print("--- Keys and Values ---")
for key, value in user.items():
    print(f"{key}: {value}")

# 2. Iterate over keys only (default behavior)
print("\n--- Keys Only ---")
for key in user:
    print("Key:", key)

# 3. Iterate over values only
print("\n--- Values Only ---")
for val in user.values():
    print("Value:", val)
Saída terminal
--- Keys and Values ---
username: alice
role: admin
active: True

--- Keys Only ---
Key: username
Key: role
Key: active

--- Values Only ---
Value: alice
Value: admin
Value: True

Implementação passo a passo

  • Use user.items() em um loop for para extrair e descompactar chaves e valores simultaneamente.
  • Faça um loop diretamente no dicionário (ou chame .keys()) para iterar apenas pelas chaves.
  • Use .values() para isolar e iterar pelos valores do dicionário.

Perguntas frequentes

A ordem de inserção é preservada ao iterar em um dicionário?

Sim, a partir dePython 3.7+, os dicionários têm garantia de manter a ordem de inserção das chaves.

Você pode modificar um dicionário enquanto o itera?

Não, modificar chaves (adicionar ou excluir) durante a iteração gerará um RuntimeError. Modifique uma cópia de chaves ou valores.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.