On peut itérer tout ce qui est itérable (chaînes de caractères, listes, etc.) avec des iterators. Il suffit pour cela de faire appel à la fonction iter(), comme suit :
>>> lettres = iter('abc') >>> while True: ... print lettres.next() ... a b c Traceback (most recent call last): File "<stdin>", line 2, in <module> StopIteration >>> >>> chiffres = iter([1,2,3]) >>> chiffres.next() 1 >>> chiffres.next() 2 >>> chiffres.next() 3 >>> chiffres.next() Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration
On constate qu'une exception StopIteration est levée, quand l'itérateur à atteint la fin de ce qui est itéré. De ce fait, on peut utiliser les itérateurs dans les boucles :
>>> couleurs = iter(['rouge','vert','bleu']) >>> for k in couleur: ... print k ... >>> for k in couleurs: ... print k ... rouge vert bleu
Bien sûr, cet exemple de base est un peu débile, vu que l'on peut aussi écrire :
>>> for k in ['rouge','vert','bleu']: ... print k ...
Notons enfin que les itérateurs sont la brique de base des generators, et du module itertools.