Itérateurs
**********

Python fournit deux itérateurs génériques. Le premier est un itérateur
de séquence, il fonctionne avec n’importe quelle séquence gérant la
méthode "__getitem__()". Le second fonctionne avec un objet appelable
et une valeur sentinelle, il appelle l’appelable pour obtenir chaque
élément de la séquence, et l’itération se termine lorsque la
sentinelle est reçue.

PyTypeObject PySeqIter_Type

   Type object for iterator objects returned by "PySeqIter_New()" and
   the one-argument form of the "iter()" built-in function for built-
   in sequence types.

   Nouveau dans la version 2.2.

int PySeqIter_Check(op)

   Return true if the type of *op* is "PySeqIter_Type".

   Nouveau dans la version 2.2.

PyObject* PySeqIter_New(PyObject *seq)
    *Return value: New reference.*

   Return an iterator that works with a general sequence object,
   *seq*.  The iteration ends when the sequence raises "IndexError"
   for the subscripting operation.

   Nouveau dans la version 2.2.

PyTypeObject PyCallIter_Type

   Type object for iterator objects returned by "PyCallIter_New()" and
   the two-argument form of the "iter()" built-in function.

   Nouveau dans la version 2.2.

int PyCallIter_Check(op)

   Return true if the type of *op* is "PyCallIter_Type".

   Nouveau dans la version 2.2.

PyObject* PyCallIter_New(PyObject *callable, PyObject *sentinel)
    *Return value: New reference.*

   Return a new iterator.  The first parameter, *callable*, can be any
   Python callable object that can be called with no parameters; each
   call to it should return the next item in the iteration.  When
   *callable* returns a value equal to *sentinel*, the iteration will
   be terminated.

   Nouveau dans la version 2.2.
