Cómo enumerar un objeto en un bucle con enumerate en Python

1 mar 2021 2 min di lettura
Cómo enumerar un objeto en un bucle con enumerate en Python
Indice dei contenuti

Introducción

enumerate() es una función incorporada en Python que le permite tener un contador automático mientras recorre iterables.

Función de Python enumerate ()

La función enumerate() toma la siguiente forma:

enumerate(iterable, start=0)

La función acepta dos argumentos:

  • iterable: un objeto que admite la iteración.
  • start: el número en el que comienza el contador. Este argumento es opcional. De forma predeterminada, el contador comienza en 0.

enumerate() devuelve un objeto enumerado en el que __next__() (o next() en Python 2) para obtener una tupla que contiene un recuento y el valor actual del iterable.

Aquí hay un ejemplo de cómo crear una lista de tuplas usando list() y cómo recorrer un iterable:

directions = ["north", "east", "south", "west"]
 list(enumerate(directions))

 for index, value in enumerate(directions):
 print("{}: {}".format(index, value))
[(0, 'north'), (1, 'east'), (2, 'south'), (3, 'west')]

 0: north
 1: east
 2: south
 3: west

Si la indexación de base cero no le funciona, elija otro índice inicial para la enumeración:

directions = ["north", "east", "south", "west"]
 list(enumerate(directions, 1))
[(1, 'north'), (2, 'east'), (3, 'south'), (4, 'west')]

La función enumerate() funciona en cualquier objeto iterable. Un iterable es un contenedor que se puede repetir. En pocas palabras, significa un objeto al que puede pasar un bucle for La mayoría de los objetos integrados en Python, como cadenas, listas y tuplas, son iterables.

Escribir código Pythonic con enumerate ()

for es totalmente diferente del bucle for disponible en muchos lenguajes de programación. El for en Python es equivalente al foreach en otros lenguajes.

Una técnica común utilizada por los desarrolladores de Python más nuevos para obtener el índice correspondiente cuando se trata de iterables es usar el range(len(...)) o establecer e incrementar un contador:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
 for i in range(len(planets)):
 print("Planet {}: {}".format(i, planets[i]))
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
 i = 0
 for planet in planets:
 print("Planet {}: {}".format(i, planet))
 i += 1

Los bucles anteriores se pueden reescribir de manera más idiomática usando enumerate():

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
 for index, value in enumerate(planets):
 print("Planet {}: {}".format(index, value))

Todos los métodos producirán el mismo resultado:

Planet 0: Mercury
 Planet 1: Venus
 Planet 2: Earth
 Planet 3: Mars
 Planet 4: Jupiter
 Planet 5: Saturn
 Planet 6: Uranus
 Planet 7: Neptune

Conclusión

En este artículo, le mostramos cómo usar la función enumerate()

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.