Python3 Función enumerate()

Python3 内置函数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

# Uso básico de enumerate
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:

  1. enumerate devuelve una tupla (índice, valor).
  2. El índice por defecto comienza en 0.

Ejemplo 2: Especificar el índice inicial

Ejemplo

# Numerar desde 1
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

# Convertir a lista
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

# Buscar el índice de un elemento
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

# enumerate con diccionarios
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().


Python3 内置函数Funciones integradas de Python3

Otras extensiones