Objetos iteradores

Python proporciona dos objetos iteradores de propósito general. El primero, un iterador de secuencia, funciona con una secuencia arbitraria que admite el método __getitem__(). El segundo funciona con un objeto invocable y un valor centinela, llamando al invocable para cada elemento de la secuencia y finalizando la iteración cuando se retorna el valor centinela.

PyTypeObject PySeqIter_Type

Objeto tipo para objetos iteradores retornados por PySeqIter_New() y la forma de un argumento de la función incorporada iter() para los tipos de secuencia incorporados.

int PySeqIter_Check(op)

Retorna verdadero si el tipo de op es PySeqIter_Type.

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

Retorna un iterador que funciona con un objeto de secuencia general, seq. La iteración termina cuando la secuencia lanza IndexError para la operación de suscripción.

PyTypeObject PyCallIter_Type

Objeto tipo para los objetos iteradores retornados por PyCallIter_New() y la forma de dos argumentos de la función incorporada iter().

int PyCallIter_Check(op)

Retorna verdadero si el tipo de op es PyCallIter_Type.

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

Retorna un nuevo iterador. El primer parámetro, callable, puede ser cualquier objeto invocable de Python que se pueda invocar sin parámetros; cada llamada debe retornar el siguiente elemento en la iteración. Cuando callable retorna un valor igual a sentinel, la iteración finalizará.