Itérateurs Python
Les itérateurs en Python sont des objets qui permettent de parcourir un itérable, c’est-à-dire une séquence d’éléments tels que une liste, un tuple ou une chaîne de caractères. Ils permettent de parcourir ces éléments un par un et de les retourner au fur et à mesure.
Voici comment utiliser un itérateur pour parcourir une liste :
my_list = [1, 2, 3] # Obtenir un itérateur à partir de la liste iterator = iter(my_list) # Utiliser la méthode `next` de l'itérateur pour accéder aux éléments de la liste un par un print(next(iterator)) # Affiche 1 print(next(iterator)) # Affiche 2 print(next(iterator)) # Affiche 3 print(next(iterator)) # Génère une exception StopIteration
Vous pouvez également utiliser une boucle
pour parcourir un itérateur de manière plus concise :
my_list = [1, 2, 3] # Obtenir un itérateur à partir de la liste iterator = iter(my_list) # Utiliser une boucle for pour parcourir l'itérateur for element in iterator: print(element) # Affiche 1, puis 2, puis 3
Il est également possible de créer vos propres itérateurs en définissant une classe qui implémente les méthodes
et
. La méthode
doit renvoyer l’itérateur lui-même, tandis que la méthode
doit renvoyer l’élément suivant de l’itération. Si l’itération est terminée, la méthode
doit lever l’exception
.
Voici un exemple d’itérateur qui parcourt les nombres entiers inférieurs à un certain seuil :
class MyIterator: def __init__(self, max): self.max = max self.current = 0 def __iter__(self): return self def __next__(self): if self.current >= self.max: raise StopIteration self.current += 1 return self.current - 1 # Utiliser l'itérateur for n in MyIterator(5): print(n) # Affiche 0, puis 1, puis 2, puis 3, puis 4
Les itérateurs sont une partie importante de la programmation en Python et sont largement utilisés dans de nombreux contextes pour parcourir des séquences d’éléments de manière efficace