La función enumerate es una función incorporada al propio lenguaje Python que permite añadir un contador a un elemento iterable.

Veamos un ejemplo:

Supongamos que tenemos la siguiente lista que contiene frutas

frutas=[‘pera’,’manzana’,’platano’,’ciruela’,’fresa’]

Queremos recorrerla, e indicar el número de ocupa esa posición dentro de la lista.

¿Cómo conseguimos hacer esto en Python?

Con la función incorporada enumerate

for pos, fruta in enumerate(frutas):
print(pos,fruta)

Si ejecutamos el código anterior, obtenemos la siguiente salida:

/usr/bin/python2.7
(0, ‘pera’)
(1, ‘manzana’)
(2, ‘platano’)
(3, ‘ciruela’)
(4, ‘fresa’)

Como podemos apreciar el contador empieza en 0. Si queremos que el contador empiece en otro número cualquiera, podemos indicárselo a la función enumerate.

Supongamos que queremos que empiece en 1, en lugar de en 0.

Tendríamos que indicárselo a la función enumerate de la siguiente forma:

for pos, fruta in enumerate(frutas,1):
print(pos,fruta)

Esto cambiaría la salida del programa del siguiente modo:

/usr/bin/python2.7
(1, ‘pera’)
(2, ‘manzana’)
(3, ‘platano’)
(4, ‘ciruela’)
(5, ‘fresa’)

Process finished with exit code 0

Como podemos ver el contador en este lugar empieza en 1, y no en 0.