La función enumerate() agrega un contador a una secuencia y devuelve una tupla que contiene el número de índice y el elemento correspondiente en cada iteración del bucle.
Es especialmente útil cuando necesitamos saber tanto el índice como el valor de cada elemento durante la iteración.
Sintaxis de enumerate()
La sintaxis general de enumerate()
es:
enumerate(secuencia, inicio=0)
- secuencia: La secuencia sobre la cual iterar.
- inicio: Valor inicial del contador. Por defecto, es 0.
enumerate()
es eficiente y optimizado para manejar grandes volúmenes de datos, ya que no crea una lista adicional en memoria sino que devuelve un iterador.
Es compatible con todo tipo de iterables en Python, incluyendo listas, tuplas, cadenas.
Ejemplo básico
En este ejemplo, enumerate se utiliza para recorrer una lista de nombres, imprimiendo el índice y el nombre de cada elemento.
nombres = ['Luis', 'María', 'Carlos', 'Ana']
for indice, nombre in enumerate(nombres):
print(f"Índice {indice}: {nombre}")
# Salida:
# Índice 0: Luis
# Índice 1: María
# Índice 2: Carlos
# Índice 3: Ana
Ejemplos prácticos
Especificando un inicio para el contador
Aquí se muestra cómo usar enumerate especificando un valor de inicio diferente para el contador de índices. En este caso, el conteo comienza en 1 en lugar de 0.
nombres = ['Luis', 'María', 'Carlos', 'Ana']
for indice, nombre in enumerate(nombres, start=1):
print(f"Estudiante {indice}: {nombre}")
# Salida:
# Estudiante 1: Luis
# Estudiante 2: María
# Estudiante 3: Carlos
# Estudiante 4: Ana
Utilizando enumerate() con otros tipos de datos
Este ejemplo muestra cómo enumerate también puede ser utilizado con otros tipos de secuencias, como cadenas de texto, para obtener el índice y el carácter en cada iteración.
cadena = "Python"
for indice, caracter in enumerate(cadena):
print(f"Índice {indice}: {caracter}")
# Salida:
# Índice 0: P
# Índice 1: y
# Índice 2: t
# Índice 3: h
# Índice 4: o
# Índice 5: n
Creando un diccionario a partir de enumerate()
En este ejemplo, enumerate se usa en una comprensión de diccionario para crear un diccionario que mapea índices a valores de una lista de países.
paises = ['España', 'Francia', 'Italia']
diccionario_paises = {indice: pais for indice, pais in enumerate(paises)}
print(diccionario_paises)
# Salida: {0: 'España', 1: 'Francia', 2: 'Italia'}