Nov 27, 2024

Wiki

Python

Aide

edit SideBar

Search

Les Iterators


Présentation

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.

Page Actions

Recent Changes

Group & Page

Back Links