PaliSkill
Python avancé

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