Enumerate es una funcionalidad incorporada de Python. Nos permite recorrer algo y tener un contador automático. Aquí hay un ejemplo:
my_list = ['apple', 'banana', 'grapes', 'pear']
for counter, value in enumerate(my_list):print counter, value
# Output:
# 0 apple
# 1 banana
# 2 grapes
# 3 pear
¡Y hay más! enumerate también acepta un argumento opcional que nos permite especificar el índice de inicio del contador.
my_list = ['apple', 'banana', 'grapes', 'pear']
for c, value in enumerate(my_list, 1):
print(c, value)
# Output:
# 1 apple
# 2 banana
# 3 grapes
# 4 pear
Un ejemplo de dónde resulta útil el argumento opcional de enumerate es la creación de tuplas que contienen el índice y el elemento de lista mediante una lista. Aquí hay un ejemplo:
my_list = ['apple', 'banana', 'grapes', 'pear']
counter_list = list(enumerate(my_list, 1))
print(counter_list)
# Output: [(1, 'apple'), (2, 'banana'), (3, 'grapes'), (4, 'pear')]
Dejo link : https://book.pythontips.com/en/latest/enumerate.html