Leçon 6 / 10 — Chapitre 5: Itérateurs, générateurs et context managers
Un aperçu du module itertools
Le module itertools de la bibliothèque standard fournit des générateurs prêts à l'emploi pour des motifs d'itération courants — count, cycle et repeat en sont trois exemples simples.
from itertools import count
for n in count(10):
print(n)
if n >= 12:
break
Ce code affiche 10, 11, puis 12 : count(10) génère une séquence infinie de nombres à partir de 10 (10, 11, 12, 13...), sans jamais s'arrêter d'elle-même — un break explicite est donc indispensable pour interrompre la boucle, sous peine de tourner indéfiniment.
cycle répète indéfiniment les éléments d'une séquence finie, dans le même ordre :
from itertools import cycle
compteur = 0
for couleur in cycle(["rouge", "vert", "bleu"]):
print(couleur)
compteur = compteur + 1
if compteur >= 5:
break
Ce code affiche rouge, vert, bleu, rouge, vert : cycle reboucle sur la liste dès qu'elle est épuisée, indéfiniment — encore une fois, un break reste nécessaire.
Avertissement important : count et cycle sont des générateurs infinis — les parcourir sans condition d'arrêt (break, ou une limite explicite) bloquerait le programme indéfiniment.
À vous de jouer : utilisez itertools.count() dans une boucle avec un break pour afficher exactement 5 nombres consécutifs à partir d'une valeur de départ de votre choix.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 87 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès