Python3 Fonction enumerate()
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
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 :
- enumerate renvoie des tuples (index, valeur).
- Par défaut, l'index commence à 0.
Exemple 2 : Spécifier l'index de départ
Exemple
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
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
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
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().
Autres extensions