Python, Uso de la función enumerate(): Obtención de los elementos e índices de una lista

Negocio

Usando la función enumerate() de Python, puedes obtener el número de índice (cuenta, orden) así como los elementos de un objeto iterable como una lista o tupla en un bucle for.

Este artículo explica los fundamentos de la función enumerate().

  • Función para obtener el índice en un bucle for: enumerate()
    • Bucle for normal
    • Para el bucle utilizando la función enumerate()
  • Iniciar el índice de la función enumerate() en 1 (un valor distinto de cero)
  • Especifique el incremento (paso)

La función enumerate() puede utilizarse para obtener el índice en un bucle for.

Bucle for normal

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

Para el bucle utilizando la función enumerate()

Especifica un objeto iterable, como una lista, como argumento de la función enumerate().

Puede obtener el número de índice y el elemento en ese orden.

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

Iniciar el índice de la función enumerate() en 1 (un valor distinto de cero)

Como se muestra en el ejemplo anterior, por defecto, el índice de la función enumerate() comienza en 0.

Si desea comenzar con un número distinto de 0, especifique un número inicial arbitrario como segundo argumento de la función enumerate().

Para empezar desde cero, haz lo siguiente.

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

Por supuesto, puedes empezar con otros números.

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

Es útil cuando se quiere crear una cadena numerada secuencialmente; es más inteligente especificar el número inicial como segundo argumento de la función enumerate() que utilizar 'i+1' para empezar desde 1.

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

Consulte el siguiente artículo para obtener más información sobre la función de formato, que se utiliza para rellenar los números con ceros.

Especifique el incremento (paso)

No hay ningún argumento para especificar el paso incremental en la función enumerate(), pero se puede conseguir haciendo lo siguiente

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie
Copied title and URL