Comment utiliser Enumerate en Python (boucle avec des indices)
Apprenez à utiliser la fonction enumerate() en Python. Obtenez à la fois l’index et la valeur lorsque vous parcourez des listes avec des exemples clairs.
Aperçu
Lors d'une itération sur une liste, un tuple ou une chaîne, vous devrez souvent suivre l'index actuel de chaque élément à côté de l'élément lui-même. Un modèle courant pour les débutants consiste à utiliser une variable de compteur distincte qui est incrémentée manuellement, ou à utiliser `range(len(my_list))` pour parcourir les indices. Cependant, Python fournit une solution beaucoup plus élégante, pythonique et intégrée : la fonction `enumerate()`.
La fonction `enumerate()` prend n'importe quel itérable comme argument et renvoie un objet enumerate, qui produit des paires de tuples de valeur d'index. En utilisant le déballage de tuple dans une boucle « for », vous pouvez extraire l'index et l'élément simultanément. Cela supprime complètement le besoin de variables de compteur manuelles et de crochets d'indexation, ce qui rend votre code beaucoup plus propre et moins sujet aux erreurs ponctuelles.
Par défaut, `enumerate()` commence à compter les indices à partir de `0`. Cependant, vous pouvez transmettre un index de départ personnalisé en utilisant l'argument de mot-clé facultatif `start` (par exemple, `enumerate(items, start=1)`). Ceci est incroyablement utile lors de l'affichage des numéros de liste aux utilisateurs humains, car les gens s'attendent généralement à ce que les listes commencent à compter à partir de 1 au lieu de 0.
Sortie de code et d'exécution
Ce script montre l'itération sur des listes à l'aide d'enumerate pour obtenir des paires d'éléments d'index, en commençant par 0 et 1.
fruits = ["apple", "banana", "cherry"]
# 1. Standard enumeration (starts at 0)
print("--- Standard Enumeration ---")
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")
# 2. Enumeration starting at a custom index (e.g., 1)
print("\n--- Starting at 1 ---")
for num, fruit in enumerate(fruits, start=1):
print(f"Item #{num}: {fruit}")--- Standard Enumeration ---
Index 0: apple
Index 1: banana
Index 2: cherry
--- Starting at 1 ---
Item #1: apple
Item #2: banana
Item #3: cherryMise en œuvre étape par étape
- Transmettez votre liste (ou tout autre itérable) à la fonction enumerate() intégrée.
- Décompressez les tuples renvoyés dans une boucle for en utilisant la syntaxe for index, value in enumerate(list).
- Fournissez le paramètre de démarrage (par exemple, start=1) pour modifier la valeur initiale du compteur d'index.
Foire aux questions
Enumerate() modifie-t-il la liste d'origine ?
Non, enumerate() renvoie un objet itérateur paresseux et laisse la liste d'origine entièrement inchangée.
Puis-je utiliser enumerate() avec un dictionnaire ?
Oui, mais parcourir directement un dictionnaire donnera ses clés. Pour itérer la valeur-clé d'index, utilisez : for i, (k, v) in enumerate(my_dict.items()):.
Sujets connexes
Apprenez à parcourir ou parcourir un dictionnaire Python. Découvrez des méthodes pour parcourir des clés, des valeurs et des paires clé-valeur avec des exemples clairs et exécutables.
Comment trouver la longueur d'une liste en PythonApprenez à trouver la longueur d'une liste en Python à l'aide de la fonction len(). Comprendre la complexité temporelle O(1) et les comptes de vérification.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Boucles Python
Apprenez à utiliser les boucles Python pour parcourir les données. Maîtrisez les bonnes pratiques pour les boucles, while, break, continue et loop avec des exemples interactifs.
Aide-mémoire sur les méthodes de chaîne Python
Un guide de référence complet pour la manipulation des chaînes Python. Maîtrisez le formatage, la recherche, le fractionnement, le remplacement et la vérification des propriétés des chaînes.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.