Enumerar dicionário em Python
A função enumerate()
em Python retorna um objeto do tipo enumerate e adiciona uma variável de contador para iterar em uma lista ou algum outro tipo de coleção. Isso torna o loop sobre esses objetos mais fácil.
Podemos ver o conteúdo de um objeto enumerado quando o passamos para a função list()
. Por exemplo:
l = ["a", "b", "c"]
print(list(enumerate(l)))
Resultado:
[(0, 'a'), (1, 'b'), (2, 'c')]
Também podemos usar a função enumerate()
com dicionários.
O exemplo a seguir mostra um exemplo elementar.
d1 = {"a": 15, "b": 18, "c": 20}
for i, j in enumerate(d1):
print(i, j)
Resultado:
0 a
1 b
2 c
Observe que passamos o dicionário diretamente para a função enumerate()
, e ela apenas atribuiu a variável do contador às chaves do dicionário e não aos valores. Portanto, quando iteramos sobre esse objeto, só pudemos acessar a variável do contador e as chaves do dicionário.
Para enumerar chaves e valores, podemos usar o método items()
do dicionário. O método items()
retorna um objeto com os pares de valores-chave como tuplas. O exemplo a seguir mostra como podemos usar o método items()
com a função enumerate()
e acessar a chave e seu valor correspondente.
d1 = {"a": 15, "b": 18, "c": 20}
for i, (j, k) in enumerate(d1.items()):
print(i, j, k)
Resultado:
0 a 15
1 b 18
2 c 20
Se quisermos apenas os elementos do dicionário sem suas chaves, podemos usar a função values()
. Ele retorna uma lista contendo os valores do dicionário.
O código a seguir mostra como:
d1 = {"a": 15, "b": 18, "c": 20}
for i, j in enumerate(d1.values()):
print(i, j)
Resultado:
0 15
1 18
2 20
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn