Función enumerate
1. Qué es enumerate? #
enumerate es una función en Python que permite recorrer una secuencia (como una lista o una cadena) y al mismo tiempo obtener tanto el índice como el valor del elemento actual. Es muy útil cuando necesitas saber la posición de los elementos mientras los recorres en un bucle for.
¿Cómo funciona enumerate? #
La función enumerate convierte una secuencia en un objeto enumerado, que luego puedes recorrer en un for. Puedes usar enumerate de las siguientes maneras:
enumerate(secuencia): Devuelve un objeto enumerado que produce pares(indice, valor)dondeindicees la posición del elemento yvalores el valor del elemento.enumerate(secuencia, start): Igual que el anterior, perostartpermite definir desde qué número comenzar la numeración (el índice).
Ejemplos de uso de enumerate #
-
Usar
enumeratecon una lista:1frutas = ["manzana", "banana", "cereza"] 2 3for indice, fruta in enumerate(frutas): 4 print(f"Índice {indice}: {fruta}")Salida de consola Índice 0: manzana Índice 1: banana Índice 2: cereza
- ¿Qué hace?: Este código recorre la lista
frutasy para cada elemento, imprime el índice y el nombre de la fruta.
- ¿Qué hace?: Este código recorre la lista
-
Usar
enumeratecon inicio en un número específico:1frutas = ["manzana", "banana", "cereza"] 2 3for indice, fruta in enumerate(frutas, start=1): 4 print(f"Fruta {indice}: {fruta}")Salida de consola Fruta 1: manzana Fruta 2: banana Fruta 3: cereza
- ¿Qué hace?: Este código empieza la numeración desde
1en lugar de0.
- ¿Qué hace?: Este código empieza la numeración desde
2. Por qué usar range y enumerate? #
rangees ideal para generar secuencias de números, especialmente cuando necesitas iterar un número específico de veces o crear un rango de valores.enumeratees muy útil cuando necesitas tanto el índice como el valor de los elementos de una secuencia durante la iteración. Esto hace que tu código sea más limpio y evita errores relacionados con el manejo manual de índices.
Resumen del tema
Conceptos clave #
- Función Integrada
enumerate(iterable, start=0): envuelve un iterable retornando tuplas de dos elementos(indice, valor)en cada iteración. - Parámetro
start: permite personalizar el índice inicial (ej.start=1para conteo humano en listas). - Desempaquetado en
for: se desempaqueta idiomáticamente comofor i, item in enumerate(iterable):. - Ventaja de Rendimiento: evita llevar contadores manuales o indexar repetidamente
lista[i].
Qué debes recordar #
Usa enumerate(iterable) para iterar simultáneamente sobre el índice y el valor sin necesidad de variables contadoras manuales.