Iterando em um dicionário com Python: Como fazer?
Como Iterar por um Dicionário em Python
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 própria linguagem. No seu código, você usará dicionários para resolver muitos problemas de programação que podem exigir a iteração do dicionário em questão. Neste tutorial, você mergulhará fundo em como iterar por um dicionário em Python.
Começando Com Dicionários Python
Antes de aprendermos a iterar por um dicionário, é importante entendermos como criar e trabalhar com dicionários em Python. Um dicionário é uma coleção não ordenada de pares chave-valor, onde cada chave é única e armazena um valor associado a ela.
Existem duas maneiras comuns de criar um dicionário em Python:
- Usando chaves ({}) e pares chave-valor separados por dois pontos (:). Por exemplo:
- Usando a função
dict()
e uma sequência de tuplas chave-valor. Por exemplo:
Uma vez que você tenha um dicionário, você pode acessar seus valores usando as chaves correspondentes. Por exemplo:
Entendendo Como Iterar por um Dicionário em Python
Agora que sabemos como criar e acessar um dicionário, vamos aprender as diferentes maneiras de iterar por ele.
Percorrendo um Dicionário Diretamente
Uma maneira simples de iterar por um dicionário é percorrendo diretamente as suas chaves. Podemos fazer isso utilizando um loop for
. Por exemplo:
Saída:
Nesse caso, o loop for
retorna as chaves do dicionário e podemos usá-las para imprimir os valores correspondentes.
Iterando pelos Itens do Dicionário: O Método .items()
Outra maneira de iterar por um dicionário é utilizando o método .items()
. Esse método retorna uma lista de tuplas contendo cada chave e seu respectivo valor. Podemos então utilizar um loop for
para percorrer essas tuplas. Por exemplo:
Saída:
Nesse caso, o loop for
retorna as tuplas (chave, valor)
e podemos desempacotar essas tuplas nas variáveis chave
e valor
para imprimi-las.
Iterando pelas Chaves do 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 uma lista contendo todas as chaves do dicionário. Podemos então utilizar um loop for
para percorrer essa lista. Por exemplo:
Saída:
Nesse caso, o loop for
retorna as chaves do dicionário e podemos usá-las para imprimir os valores correspondentes.
Percorrendo os Valores do Dicionário: O Método .values()
Se você estiver interessado apenas nos valores do dicionário, pode utilizar o método .values()
. Esse método retorna uma lista contendo todos os valores do dicionário. Podemos então utilizar um loop for
para percorrer essa lista. Por exemplo:
Saída:
Nesse caso, o loop for
retorna os valores do dicionário e podemos imprimi-los diretamente.
Alterando Valores do Dicionário Durante a Iteração
Uma coisa importante a ser observada é que, ao iterar por um dicionário, não é seguro alterar seus valores diretamente. Isso pode levar a resultados inesperados ou até mesmo a erros. Se você precisar alterar os valores durante a iteração, é recomendado criar uma cópia do dicionário original e modificá-la enquanto itera. Por exemplo:
Saída:
Nesse caso, criamos uma cópia do dicionário original para evitar alterar seus valores diretamente durante a iteração.
Removendo Items de um Dicionário com Segurança Durante a Iteração
Assim como ao modificar os valores do dicionário, também não é seguro remover items do dicionário diretamente durante a iteração. Isso pode causar problemas como itens pulados ou erros. Se você precisar remover items do dicionário durante a iteração, é recomendado criar uma lista de items a serem removidos e excluir esses items fora do loop. Por exemplo:
Saída:
Nesse caso, criamos uma lista items_a_remover
para armazenar as chaves dos itens que desejamos remover. Em seguida, iteramos novamente por essa lista e excluímos os items correspondentes do dicionário original.
Exemplos de Looping por Dicionários
Agora que entendemos as diferentes formas de iterar por um dicionário em Python, vamos ver alguns exemplos práticos de looping que podem ser úteis no desenvolvimento de aplicativos.
Filtrando Items pelos Seus Valores
Digamos que temos um dicionário contendo alunos e suas notas, e queremos filtrar apenas os alunos que obtiveram uma nota acima de 90. Podemos fazer isso utilizando um loop for
e uma estrutura condicional. Por exemplo:
Saída:
Nesse caso, utilizamos um loop for
para percorrer os items do dicionário notas
. Em seguida, verificamos se a nota de cada aluno é maior que 90 e imprimimos o nome do aluno e sua nota correspondente.
Realizando Cálculos com Chaves e Valores
Digamos que temos um dicionário contendo produtos e suas quantidades em estoque, e queremos calcular o total de produtos em estoque. Podemos fazer isso utilizando um loop for
e uma variável acumuladora. Por exemplo:
Saída:
Nesse caso, utilizamos um loop for
para percorrer os items do dicionário estoque
. Em seguida, adicionamos a quantidade de cada produto à variável total_estoque
.
Trocando Chaves e Valores Durante a Iteração
Digamos que temos um dicionário contendo nomes de países como chaves e seus respectivos códigos de telefone como valores, e queremos criar um novo dicionário onde os códigos de telefone são as chaves e os nomes dos países são os valores. Podemos fazer isso utilizando um loop for
e criando um novo dicionário. Por exemplo:
Saída:
Nesse caso, utilizamos um loop for
para percorrer os items do dicionário paises
. Em seguida, adicionamos um novo item ao novo_dicionario
utilizando o código de telefone como chave e o nome do país como valor.
Conclusão
A iteração por um dicionário em Python é uma habilidade essencial de programação. Neste tutorial, você aprendeu várias maneiras de iterar por um dicionário, incluindo percorrer diretamente as chaves, utilizar os métodos .items()
, .keys()
e .values()
, e realizar operações de modificação e remoção com segurança durante a iteração.
Agora que você tem um bom entendimento de como iterar por um dicionário em Python, você poderá aplicar esse conhecimento em seus projetos e escrever um código mais elegante e eficiente. Continue praticando e explorando os recursos do Python para aprimorar suas habilidades de programação.