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