Objetos iteradores

O Python fornece dois objetos iteradores de uso geral. O primeiro, um iterador de sequência, trabalha com uma sequência arbitrária que suporta o método __getitem__(). O segundo funciona com um objeto chamável e um valor de sentinela, chamando o chamável para cada item na sequência e finalizando a iteração quando o valor de sentinela é retornado.

PyTypeObject PySeqIter_Type
Part of the Stable ABI.

Objeto de tipo para objetos iteradores retornados por PySeqIter_New() e a forma de um argumento da função embutida iter() para tipos de sequência embutidos.

int PySeqIter_Check(op)

Retorna true se o tipo de op for PySeqIter_Type. Esta função sempre tem sucesso.

PyObject *PySeqIter_New(PyObject *seq)
Return value: New reference. Part of the Stable ABI.

Retorna um iterador que funcione com um objeto de sequência geral, seq. A iteração termina quando a sequência levanta IndexError para a operação de assinatura.

PyTypeObject PyCallIter_Type
Part of the Stable ABI.

Objeto de tipo para objetos iteradores retornados por PyCallIter_New() e a forma de dois argumentos da função embutida iter().

int PyCallIter_Check(op)

Retorna true se o tipo de op for PyCallIter_Type. Esta função sempre tem sucesso.

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
Return value: New reference. Part of the Stable ABI.

Retorna um novo iterador. O primeiro parâmetro, callable, pode ser qualquer objeto chamável do Python que possa ser chamado sem parâmetros; cada chamada deve retornar o próximo item na iteração. Quando callable retorna um valor igual a sentinel, a iteração será encerrada.