Enumerar diccionario en Python

Manav Narula 10 octubre 2023
Enumerar diccionario en Python

La función enumerate() en Python devuelve un objeto de tipo enumeración y añade una variable contadora para iterar sobre una lista o algún otro tipo de colección. Facilita la realización de bucles sobre dichos objetos.

Podemos ver el contenido de un objeto enumerado cuando lo pasamos a la función list(). Por ejemplo:

l = ["a", "b", "c"]
print(list(enumerate(l)))

Producción :

[(0, 'a'), (1, 'b'), (2, 'c')]

También podemos utilizar la función enumerate() con diccionarios.

El siguiente ejemplo muestra un ejemplo elemental.

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1):
    print(i, j)

Producción :

0 a
1 b
2 c

Observe que hemos pasado directamente el diccionario a la función enumerate(), y ésta sólo ha asignado la variable contador a las claves del diccionario y no a los valores. Así que cuando iteramos sobre este objeto, sólo podremos acceder a la variable contador y a las claves del diccionario.

Para enumerar tanto las claves como los valores, podemos utilizar el método items() del diccionario. El método items() devuelve un objeto con los pares clave-valor como tuplas. El siguiente ejemplo muestra cómo podemos utilizar el método items() con la función enumerate() y acceder tanto a la clave como a su correspondiente valor.

d1 = {"a": 15, "b": 18, "c": 20}

for i, (j, k) in enumerate(d1.items()):
    print(i, j, k)

Producción :

0 a 15
1 b 18
2 c 20

Si sólo queremos los elementos del diccionario sin sus claves, podemos utilizar la función values(). Ésta devuelve una lista con los valores del diccionario.

El siguiente código muestra cómo hacerlo:

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1.values()):
    print(i, j)

Producción :

0 15
1 18
2 20
Manav Narula avatar Manav Narula avatar

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

Artículo relacionado - Python Dictionary