Itérateurs

Python provides two general-purpose iterator objects. The first, a sequence iterator, works with an arbitrary sequence supporting the __getitem__() method. The second works with a callable object and a sentinel value, calling the callable for each item in the sequence, and ending the iteration when the sentinel value is returned.

PyTypeObject PySeqIter_Type
Fait partie de l' ABI stable.

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(PyObject *op)

Return true if the type of op is PySeqIter_Type. This function always succeeds.

PyObject *PySeqIter_New(PyObject *seq)
Valeur de retour : nouvelle référence. Fait partie de l' ABI stable.

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
Fait partie de l' ABI stable.

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

int PyCallIter_Check(PyObject *op)

Return true if the type of op is PyCallIter_Type. This function always succeeds.

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
Valeur de retour : nouvelle référence. Fait partie de l' ABI stable.

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.

Range Objects

PyTypeObject PyRange_Type
Fait partie de l' ABI stable.

The type object for range objects.

int PyRange_Check(PyObject *o)

Return true if the object o is an instance of a range object. This function always succeeds.

Builtin Iterator Types

These are built-in iteration types that are included in Python's C API, but provide no additional functions. They are here for completeness.

C type

Python type

PyTypeObject PyEnum_Type
Fait partie de l' ABI stable.

enumerate

PyTypeObject PyFilter_Type
Fait partie de l' ABI stable.

filter

PyTypeObject PyMap_Type
Fait partie de l' ABI stable.

map

PyTypeObject PyReversed_Type
Fait partie de l' ABI stable.

reversed

PyTypeObject PyZip_Type
Fait partie de l' ABI stable.

zip

Other Iterator Objects

PyTypeObject PyByteArrayIter_Type
Fait partie de l' ABI stable.
PyTypeObject PyBytesIter_Type
Fait partie de l' ABI stable.
PyTypeObject PyListIter_Type
Fait partie de l' ABI stable.
PyTypeObject PyListRevIter_Type
Fait partie de l' ABI stable.
PyTypeObject PySetIter_Type
Fait partie de l' ABI stable.
PyTypeObject PyTupleIter_Type
Fait partie de l' ABI stable.
PyTypeObject PyRangeIter_Type
Fait partie de l' ABI stable.
PyTypeObject PyLongRangeIter_Type
Fait partie de l' ABI stable.
PyTypeObject PyDictIterKey_Type
Fait partie de l' ABI stable.
PyTypeObject PyDictRevIterKey_Type
Fait partie de l' ABI stable depuis la version 3.8.
PyTypeObject PyDictIterValue_Type
Fait partie de l' ABI stable.
PyTypeObject PyDictRevIterValue_Type
Fait partie de l' ABI stable depuis la version 3.8.
PyTypeObject PyDictIterItem_Type
Fait partie de l' ABI stable.
PyTypeObject PyDictRevIterItem_Type
Fait partie de l' ABI stable depuis la version 3.8.
PyTypeObject PyODictIter_Type

Type objects for iterators of various built-in objects.

Do not create instances of these directly; prefer calling PyObject_GetIter() instead.

Note that there is no guarantee that a given built-in type uses a given iterator type. For example, iterating over range will use one of two iterator types depending on the size of the range. Other types may start using a similar scheme in the future, without warning.