Pular para o conteúdo

Como iterar um dicionário em Python?

CodeMDD.io

Como Iterar por um Dicionário em Python

por [Seu Nome] Data

Introdução

Os dicionários são uma das estruturas de dados mais importantes e úteis incorporadas ao Python. Eles estão presentes em todos os lugares e são uma parte fundamental da linguagem em si. Em seu código, você usará dicionários para resolver muitos problemas de programação que podem exigir a iteração pelo dicionário em questão. Neste tutorial, vamos mergulhar fundo em como iterar por um dicionário em Python.

Ter um conhecimento sólido sobre a iteração de dicionários ajudará você a escrever um código melhor e mais robusto. Nesta jornada pela iteração de dicionários, você escreverá diversos exemplos que serão úteis para entender diferentes maneiras de iterar por um dicionário.

Começando com Dicionários em Python

Antes de mergulharmos na iteração de dicionários, vamos revisar rapidamente o básico dos dicionários em Python. Um dicionário é uma estrutura de dados que armazena pares de chave-valor, onde cada valor é associado a uma chave exclusiva. Por exemplo:

# Criando um dicionário com alguns elementos
frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Acessando um valor através da chave
print(frutas['maçã']) # Saída: 2
print(frutas['banana']) # Saída: 3

Entendendo Como Iterar por um Dicionário em Python

Existem várias maneiras de iterar por um dicionário em Python. A seguir, exploraremos cada uma delas em detalhes:

Percorrendo um Dicionário Diretamente

Uma maneira simples de iterar por um dicionário é percorrê-lo diretamente usando um loop for. Isso nos permite acessar tanto as chaves quanto os valores de cada elemento do dicionário. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Percorrendo o dicionário diretamente
for chave, valor in frutas.items():
print(chave, valor)

Iterando Sobre os Itens de um Dicionário: O Método .items()

Outra maneira comum de iterar por um dicionário é usar o método .items(). Esse método retorna uma lista de tuplas, onde cada tupla contém a chave e o valor de um elemento do dicionário. Podemos então percorrer essa lista usando um loop for para acessar cada par chave-valor. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Iterando sobre os itens do dicionário usando .items()
for item in frutas.items():
chave, valor = item
print(chave, valor)

Iterando pelas Chaves de um Dicionário: O Método .keys()

Se você estiver interessado apenas nas chaves do dicionário, pode utilizar o método .keys(). Esse método retorna um objeto iterável contendo todas as chaves do dicionário. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Iterando pelas chaves do dicionário usando .keys()
for chave in frutas.keys():
print(chave)

Percorrendo os Valores de um Dicionário: O Método .values()

Da mesma forma, se você estiver interessado apenas nos valores do dicionário, pode utilizar o método .values(). Esse método retorna um objeto iterável contendo todos os valores do dicionário. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Percorrendo os valores do dicionário usando .values()
for valor in frutas.values():
print(valor)

Alterando Valores do Dicionário Durante a Iteração

É importante observar que, ao iterar por um dicionário, você pode alterar os valores dos elementos, mas não as chaves. Se você tentar alterar uma chave durante a iteração, o Python lançará uma exceção. No entanto, você pode alterar os valores conforme necessário. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Alterando os valores do dicionário durante a iteração
for chave, valor in frutas.items():
frutas[chave] = valor * 2
print(frutas) # Saída: {'maçã': 4, 'banana': 6, 'laranja': 2}

Removendo Elementos de um Dicionário com Segurança Durante a Iteração

Às vezes, você pode querer remover elementos de um dicionário enquanto o itera. No entanto, essa ação pode afetar a iteração e causar comportamentos inesperados. Uma maneira segura de remover elementos de um dicionário durante a iteração é criar uma cópia dos elementos antes de remover. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Removendo elementos de um dicionário durante a iteração
for chave in list(frutas.keys()):
if frutas[chave] < 2:
del frutas[chave]
print(frutas) # Saída: {'banana': 3}

Exemplos de Loop for para Iterar por Dicionários

Agora que você entendeu as diferentes formas de iterar por um dicionário em Python, veremos alguns exemplos de loops for que podem ser úteis em diversas situações.

Filtrando Elementos por Valor

Você pode usar um loop for para filtrar elementos de um dicionário com base em seus valores. Isso pode ser útil, por exemplo, para encontrar todas as frutas com uma quantidade acima de um determinado limite. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Filtrando elementos por valor
for chave, valor in frutas.items():
if valor > 1:
print(chave, valor)

Realizando Cálculos com Chaves e Valores

Outro exemplo útil é executar cálculos com as chaves e valores de um dicionário. Por exemplo, podemos calcular o total de frutas multiplicando a quantidade pelo preço de cada uma. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
precos = {'maçã': 1.5, 'banana': 0.5, 'laranja': 0.75}
# Realizando cálculos com chaves e valores
total = 0
for chave, valor in frutas.items():
total += valor * precos[chave]
print("Total:", total)

Trocando Chaves e Valores Durante a Iteração

Podemos utilizar a iteração por um dicionário para trocar as chaves pelos valores e vice-versa. Isso pode ser útil, por exemplo, ao precisarmos reorganizar os dados para um cálculo ou operação específica. Veja o exemplo abaixo:

frutas = {'maçã': 2, 'banana': 3, 'laranja': 1}
# Trocando chaves e valores durante a iteração
novo_dicionario = {}
for chave, valor in frutas.items():
novo_dicionario[valor] = chave
print(novo_dicionario) # Saída: {2: 'maçã', 3: 'banana', 1: 'laranja'}

Conclusão

Neste tutorial, exploramos várias maneiras de iterar por um dicionário em Python. Vimos como percorrer um dicionário diretamente, como usar os métodos .items(), .keys() e .values() para iterar por um dicionário de maneira mais específica e como realizar operações diversas durante a iteração. Esperamos que você tenha encontrado essas informações úteis e que elas o ajudem a escrever um código mais eficiente e elegante ao trabalhar com dicionários em Python.