HOWTO · Python

Enumerar diccionario en Python

Este tutorial muestra cómo utilizar la función enumerar con un diccionario en Python

En esta página

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