Itérateurs

Python fournit deux itérateurs d'usage générique. Le premier est un itérateur de séquence, il fonctionne avec n'importe quelle séquence implémentant la méthode __getitem__(). Le second fonctionne avec un objet appelable et une valeur sentinelle, l'appelable permet d'obtenir chaque élément de la séquence, et l'itération se termine lorsque la sentinelle est atteinte.

PyTypeObject PySeqIter_Type

Type des itérateurs renvoyés par les fonctions PySeqIter_New() et la forme à un argument de la fonction native iter() pour les séquences natives.

int PySeqIter_Check(op)

Renvoie vrai si op est de type PySeqIter_Type.

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

Renvoie un itérateur sur la séquence seq. L'itération prend fin lorsque la séquence lève IndexError lors d'une tentative d'accès.

PyTypeObject PyCallIter_Type

Type de l'itérateur renvoyé par les fonctions PyCallIter_New() et iter() à deux arguments.

int PyCallIter_Check(op)

Renvoie vrai si op est de type PyCallIter_Type.

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

Renvoie un nouvel itérateur. Le premier paramètre, callable, peut être n'importe quel objet Python appelable sans aucun paramètre ; chaque appel doit renvoyer l'élément suivant de l'itération. Lorsque callable renvoie une valeur égale à sentinel, l'itération prend fin.