Python3 Función enumerate()
Funciones integradas de Python3
enumerate()Es una función integrada de Python que se utiliza para obtener simultáneamente el índice y el valor al recorrer un objeto iterable.
Usoenumerate()Permite obtener fácilmente el índice (posición) y el elemento en sí, evitando el uso de variables contador adicionales.
Significado de la palabra: enumerateSignifica "enumerar", es decir, listar uno a uno.
Sintaxis básica y parámetros
Formato de sintaxis
enumerate(iterable, start=0)
Descripción de parámetros
- Parámetro iterable:
- Tipo: objeto iterable
- Descripción: el objeto iterable que se va a enumerar.
- Parámetro start(opcional):
- Tipo: entero
- Descripción: valor inicial del índice, por defecto 0.
Descripción de la función
- Valor de retorno: devuelve un objeto enumerate (iterador).
- Salida: cada iteración devuelve una tupla (index, value).
Ejemplos
Ejemplo 1: Uso básico
Ejemplo
fruits = ["manzana", "banana", "naranja"]
# Obtener índice y valor
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
# Por defecto comienza en 0
print("---")
for index, fruit in enumerate(fruits):
print(fruit)
Resultado esperado:
0: 苹果 1: 香蕉 2: 橙子 --- 0: 苹果 1: 香蕉 2: 橙子
Análisis del código:
- enumerate devuelve una tupla (índice, valor).
- El índice por defecto comienza en 0.
Ejemplo 2: Especificar el índice inicial
Ejemplo
fruits = ["manzana", "banana", "naranja"]
for i, fruit in enumerate(fruits, start=1):
print(f"Fruta {i}: {fruit}")
# Empezar desde 10
print("---")
for i, fruit in enumerate(fruits, start=10):
print(f"Índice {i}: {fruit}")
Resultado esperado:
第1个水果: 苹果 第2个水果: 香蕉 第3个水果: 橙子 --- 索引 10: 苹果 索引 11: 香蕉 索引 12: 橙子
El parámetro start puede especificar el índice inicial.
Ejemplo 3: Convertir a lista
Ejemplo
fruits = ["manzana", "banana", "naranja"]
result = list(enumerate(fruits))
print(result) # Salida: [(0, 'manzana'), (1, 'banana'), (2, 'naranja')]
# Convertir a diccionario (si el valor es una cadena)
result = dict(enumerate(fruits))
print(result) # Salida: {0: 'manzana', 1: 'banana', 2: 'naranja'}
# Con comprensión de listas
squares = [x**2 for x in range(5)]
indexed_squares = [(i, v) for i, v in enumerate(squares)]
print(indexed_squares) # Salida: [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16)]
Resultado esperado:
enumerate se puede convertir fácilmente en lista o diccionario.
Ejemplo 4: Aplicación práctica
Ejemplo
fruits = ["manzana", "banana", "naranja", "banana", "manzana"]
target = "banana"
for index, fruit in enumerate(fruits):
if fruit == target:
print(f"Encontrado {target} en el índice {index}")
break
# Buscar todas las coincidencias con una condición
print("\nPosiciones de todas las bananas:")
for index, fruit in enumerate(fruits):
if fruit == "banana":
print(index, end=" ") # Salida: 1 3
# Buscar la posición de un carácter en una cadena
text = "hello"
for i, c in enumerate(text):
print(f"'{c}' en la posición {i}")
Resultado esperado:
enumerate se usa a menudo en escenarios que requieren índices, como búsqueda, reemplazo, etc.
Ejemplo 5: Trabajar con diccionarios
Ejemplo
person = {"name": "Tom", "age": 20, "city": "Beijing"}
# Recorrer los pares clave-valor del diccionario (se necesita items)
for index, (key, value) in enumerate(person.items()):
print(f"{index}: {key} = {value}")
# Crear un diccionario numerado
items = ["a", "b", "c"]
numbered = {i+1: v for i, v in enumerate(items)}
print(numbered) # Salida: {1: 'a', 2: 'b', 3: 'c'}
Resultado esperado:
Al usar enumerate con diccionarios, se necesita el método items().
Otras extensiones