Python3 Fonction enumerate()

Python3 内置函数Fonctions intégrées de Python3


enumerate()est une fonction intégrée de Python utilisée pour obtenir à la fois l'index et la valeur lors de l'itération sur un objet itérable.

Utilisationenumerate()Il vous permet d'obtenir facilement à la fois l'index (la position) et l'élément lui-même en même temps, en évitant l'utilisation d'une variable de compteur supplémentaire.

Explication du terme: enumerateSignifie « enumerate », indiquant une énumération un par un.


Syntaxe de base et paramètres

Format de syntaxe

enumerate(iterable, start=0)

Description du paramètre

  • Paramètre iterable:
    • Type : objet itérable
    • Description : L'objet itérable à énumérer.
  • Paramètre start(facultatif) :
    • Type : Entier
    • Description : La valeur de départ de l'index, par défaut 0.

Description de la fonction

  • Valeur de retour: Renvoie un objet enumerate (itérateur).
  • Sortie: Chaque itération renvoie un tuple (index, valeur).

Exemples

Exemple 1 : Utilisation de base

Exemple

# Utilisation de base d'enumerate
fruits = ["pomme", "banane", "orange"]

# Obtenir l'index et la valeur
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

# Par défaut, commence à 0
print("---")
for index, fruit in enumerate(fruits):
    print(fruit)

Sortie attendue :

0: 苹果
1: 香蕉
2: 橙子
---
0: 苹果
1: 香蕉
2: 橙子

Explication du code :

  1. enumerate renvoie des tuples (index, valeur).
  2. Par défaut, l'index commence à 0.

Exemple 2 : Spécifier l'index de départ

Exemple

# Commencer la numérotation à partir de 1
fruits = ["pomme", "banane", "orange"]

for i, fruit in enumerate(fruits, start=1):
    print(f"Fruit {i} : {fruit}")

# Commencer à partir de 10
print("---")
for i, fruit in enumerate(fruits, start=10):
    print(f"Index {i} : {fruit}")

Sortie attendue :

第1个水果: 苹果
第2个水果: 香蕉
第3个水果: 橙子
---
索引 10: 苹果
索引 11: 香蕉
索引 12: 橙子

Le paramètre start peut spécifier l'index de départ.

Exemple 3 : Convertir en liste

Exemple

# Convertir en liste
fruits = ["pomme", "banane", "orange"]
result = list(enumerate(fruits))
print(result)  # Sortie : [(0, 'apple'), (1, 'banana'), (2, 'orange')]

# Convertir en dictionnaire (si les valeurs sont des chaînes de caractères)
result = dict(enumerate(fruits))
print(result)  # Sortie : {0: 'apple', 1: 'banana', 2: 'orange'}

# Avec compréhension de liste
squares = [x**2 for x in range(5)]
indexed_squares = [(i, v) for i, v in enumerate(squares)]
print(indexed_squares)  # Sortie : [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16)]

Sortie attendue :

enumerate peut être facilement converti en liste ou en dictionnaire.

Exemple 4 : Application pratique

Exemple

# Trouver l'index d'un élément
fruits = ["pomme", "banane", "orange", "banana", "apple"]
target = "banana"

for index, fruit in enumerate(fruits):
    if fruit == target:
        print(f"Trouvé {target} à l'index {index}")
        break

# Trouver toutes les correspondances avec une condition
print("\n"Positions de toutes les bananes :")
for index, fruit in enumerate(fruits):
    if fruit == "banana":
        print(index, end=" ")  # Sortie : 1 3

# Trouver les positions des caractères dans une chaîne
text = "hello"
for i, c in enumerate(text):
    print(f"'{c}' est à la position {i}")

Sortie attendue :

enumerate est souvent utilisé dans des scénarios qui nécessitent des indices, tels que la recherche, le remplacement, etc.

Exemple 5 : Utilisation des dictionnaires

Exemple

# enumerate sur un dictionnaire
person = {"name": "Tom", "age": 20, "city": "Beijing"}

# Itérer sur les paires clé-valeur d'un dictionnaire (nécessite items)
for index, (key, value) in enumerate(person.items()):
    print(f"{index}: {key} = {value}")

# Créer un dictionnaire avec des numéros de séquence
items = ["a", "b", "c"]
numbered = {i+1: v for i, v in enumerate(items)}
print(numbered)  # Sortie : {1: 'a', 2: 'b', 3: 'c'}

Sortie attendue :

Lorsque vous utilisez enumerate avec un dictionnaire, vous devez utiliser la méthode items().


Python3 内置函数Fonctions intégrées de Python3

Autres extensions