Объекты итератора

Python предоставляет два объекта-итератора общего назначения. Первый, sequence iterator, работает с произвольной последовательностью, поддерживающей метод __getitem__(). Второй работает с вызываемым объектом и контрольным значением, вызывая вызываемый объект для каждого элемента в последовательности и завершая итерацию, когда возвращается контрольное значение.

PyTypeObject PySeqIter_Type
Part of the Стабильный ABI.

Введите object для объектов итератора, возвращаемых с помощью PySeqIter_New() и формы с одним аргументом встроенной функции iter() для встроенных типов последовательностей.

int PySeqIter_Check(PyObject *op)

Возвращает значение true, если тип op равен PySeqIter_Type. Эта функция всегда выполняется успешно.

PyObject *PySeqIter_New(PyObject *seq)
Возвращаемое значение: Новая ссылка. Part of the Стабильный ABI.

Возвращает итератор, который работает с общим объектом sequence, seq. Итерация завершается, когда последовательность вызывает IndexError для операции подписки.

PyTypeObject PyCallIter_Type
Part of the Стабильный ABI.

Введите object для объектов итератора, возвращаемых с помощью PyCallIter_New() и формы с двумя аргументами встроенной функции iter().

int PyCallIter_Check(PyObject *op)

Возвращает значение true, если тип op равен PyCallIter_Type. Эта функция всегда выполняется успешно.

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
Возвращаемое значение: Новая ссылка. Part of the Стабильный ABI.

Возвращает новый итератор. Первым параметром, callable, может быть любой вызываемый объект Python, который может быть вызван без параметров; каждый его вызов должен возвращать следующий элемент в итерации. Когда callable возвращает значение, равное sentinel, итерация завершается.

Вернуться на верх