Android

Python énumérer

Enumerate - Intermediate Python Programming p.7

Enumerate - Intermediate Python Programming p.7

Table des matières:

Anonim

enumerate() est une fonction intégrée en Python qui vous permet d'avoir un compteur automatique tout en bouclant sur les itérables.

Fonction Python enumerate()

La fonction enumerate() prend la forme suivante:

enumerate(iterable, start=0)

La fonction accepte deux arguments:

  • iterable - Un objet qui prend en charge l'itération. start - Le numéro à partir duquel le compteur démarre. Cet argument est facultatif. Par défaut, le compteur démarre à 0.

enumerate() renvoie un objet énumérateur sur lequel vous pouvez appeler la __next__() (ou next() en Python 2) pour obtenir un tuple contenant un nombre et la valeur actuelle de l'itérable.

Voici un exemple de création d'une liste de tuples à l'aide de list() et de boucle sur un itérable:

directions = list(enumerate(directions)) for index, value in enumerate(directions): print("{}: {}".format(index, value))

0: north 1: east 2: south 3: west

Si l'indexation de base zéro ne fonctionne pas pour vous, choisissez un autre index de départ pour l'énumération:

directions = list(enumerate(directions, 1))

La fonction enumerate() fonctionne sur n'importe quel objet itérable. Un itérable est un conteneur qui peut être itéré. En termes simples, cela signifie un objet que vous pouvez boucler avec une boucle for . La plupart des objets intégrés en Python comme les chaînes, les listes et les tuples sont des itérables.

Écrivez plus de code Pythonic avec enumerate()

La boucle for de Python est totalement différente de la boucle for style C traditionnelle qui est disponible dans de nombreux langages de programmation. La boucle for en Python est équivalente à la boucle foreach autres langages.

Une technique courante utilisée par les nouveaux développeurs Python pour obtenir l'index correspondant lorsqu'ils traitent avec des itérables consiste à utiliser le modèle de range(len(…)) ou à définir et incrémenter un compteur:

planets = for i in range(len(planets)): print("Planet {}: {}".format(i, planets))

planets = i = 0 for planet in planets: print("Planet {}: {}".format(i, planet)) i += 1

Les boucles ci-dessus peuvent être réécrites de manière plus idiomatique en utilisant enumerate() :

planets = for index, value in enumerate(planets): print("Planet {}: {}".format(index, value))

Toutes les méthodes produiront la même sortie:

Planet 0: Mercury Planet 1: Venus Planet 2: Earth Planet 3: Mars Planet 4: Jupiter Planet 5: Saturn Planet 6: Uranus Planet 7: Neptune

Conclusion

, nous vous avons montré comment utiliser la fonction enumerate() de Python.

python