Maîtriser enumerate() en Python : boucler avec indices pour listes, tuples, chaînes et dictionnaires
Maîtriser enumerate() en Python : boucler avec indices pour listes, tuples, chaînes et dictionnaires
Qu'est-ce que enumerate() en Python ?
enumerate() est une fonction intégrée Python qui augmente tout itérable avec un compteur, renvoyant un itérateur de tuples (index, valeur). Selon la documentation officielle Python, la fonction fournit un moyen concis et efficace d'accéder à la fois à la position et à l'élément pendant l'itération.
Points clés à retenir
- Comprendre la syntaxe et les paramètres de
enumerate(). - Apprendre à définir un index de début personnalisé.
- Appliquer
enumerate()aux listes, tuples, chaînes et dictionnaires. - Reconnaître l'avantage de performance sur l'indexation manuelle.
Syntaxe
enumerate(itérable, start=0)
Paramètres
itérable: Tout objet supportant l'itération.start(optionnel) : La valeur initiale du compteur. Vaut 0 par défaut.
Valeur de retour
Un itérateur produisant des paires de la forme (index, élément), où index commence à start et s'incrémente de un pour chaque élément.
Utiliser enumerate() – Exemple de base
Voici une démonstration simple. La liste ma_liste est passée à enumerate(), et l'itérateur résultant est converti en liste pour l'affichage.
ma_liste = ['A', 'B', 'C', 'D'] print(list(enumerate(ma_liste)))
Sortie :
[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]
Index de début personnalisé
En fournissant l'argument start, vous pouvez décaler la numérotation :
ma_liste = ['A', 'B', 'C', 'D'] print(list(enumerate(ma_liste, 2)))
Sortie :
[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]
Boucler avec enumerate()
Utiliser enumerate() dans une boucle for garde le code propre et élimine le besoin d'une variable de compteur séparée.
ma_liste = ['A', 'B', 'C', 'D']
for index, valeur in enumerate(ma_liste):
print(index, valeur)
print("---")
for index, valeur in enumerate(ma_liste, 10):
print(index, valeur)
Sortie :
0 A 1 B 2 C 3 D --- 10 A 11 B 12 C 13 D
Énumérer un tuple
Le même motif s'applique aux tuples :
mon_tuple = ('A', 'B', 'C', 'D', 'E')
for index, valeur in enumerate(mon_tuple):
print(index, valeur)
Sortie :
0 A 1 B 2 C 3 D 4 E
Énumérer une chaîne
Les chaînes sont itérables en Python, donc enumerate() peut révéler la position de chaque caractère :
ma_chaine = "Guru99"
for index, char in enumerate(ma_chaine):
print(index, char)
Sortie :
0 G 1 u 2 r 3 u 4 9 5 9
Énumérer un dictionnaire
Quand vous passez un dictionnaire à enumerate(), il itère sur les clés :
mon_dict = {"a": "PHP", "b": "JAVA", "c": "PYTHON", "d": "NODEJS"}
for index, cle in enumerate(mon_dict):
print(index, cle)
Sortie :
0 a 1 b 2 c 3 d
Pourquoi utiliser enumerate() ?
- Il fournit l'index et la valeur en une seule expression lisible.
- Contrairement à appeler
list.index()dans une boucle, qui effectue une recherche O(n) à chaque fois,enumerate()s'exécute en O(1) par itération, améliorant les performances sur les grandes collections. - Il réduit le code boilerplate, améliorant la maintenabilité et réduisant les bugs.
Résumé
enumerate()est une fonctionnalité Python de base pour associer indices et éléments d'itérable.- Il accepte un paramètre optionnel
startpour personnaliser la numérotation. - Applicable aux listes, tuples, chaînes, dictionnaires et tout itérable.
- Fournit une solution efficace en un seul passage pour les boucles conscientes de l'index.
- Suivez la documentation officielle pour les détails d'utilisation les plus précis et à jour.
Python
- Maîtriser les arguments de fonctions Python : Positionnels, nommés et paramètres par défaut
- Fonctions lambda en Python : Guide pratique des fonctions anonymes
- Générateurs Python : itération efficace et cas d'utilisation avancés
- Les fermetures Python expliquées : comment les fonctions imbriquées capturent les variables
- Maîtriser les décorateurs Python : améliorer les fonctions avec des techniques expertes
- Maîtriser les boucles Python : For, While, Break, Continue et Enumerate expliqués
- Maîtriser la méthode strip() de Python : Guide complet et exemples pratiques
- Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples
- Python len() : Guide pratique pour mesurer la longueur des objets