Объекты-итераторы
Python предоставляет два итератора общего назначения. Первый, итератор последовательности, работает с произвольной последовательностью, поддерживающей метод __getitem__(). Второй работает с вызываемым объектом и значением-сентинелом: он вызывает вызываемый объект для каждого элемента последовательности и завершает итерацию, когда возвращается значение-сентинел.
-
PyTypeObject PySeqIter_Type -
Часть стабильного ABI.
Объект типа для объектов-итераторов, возвращаемых
PySeqIter_New(), а также встроенной функциейiter()с одним аргументом для встроенных типов последовательностей.
-
int PySeqIter_Check(PyObject *op) -
Возвращает true, если тип op —
PySeqIter_Type. Эта функция всегда завершается успешно.
-
PyObject *PySeqIter_New(PyObject *seq) -
Возвращаемое значение: новая ссылка. Часть стабильного ABI.
Возвращает итератор, работающий с объектом последовательности общего вида seq. Итерация завершается, когда последовательность вызывает исключение
IndexErrorпри операции индексирования.
-
PyTypeObject PyCallIter_Type -
Часть стабильного ABI.
Объект типа для объектов-итераторов, возвращаемых
PyCallIter_New(), а также встроенной функциейiter()с двумя аргументами.
-
int PyCallIter_Check(PyObject *op) -
Возвращает true, если тип op —
PyCallIter_Type. Эта функция всегда завершается успешно.
-
PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel) -
Возвращаемое значение: новая ссылка. Часть стабильного ABI.
Возвращает новый итератор. Первый параметр, callable, может быть любым вызываемым объектом Python, который можно вызвать без параметров; при каждом вызове он должен возвращать следующий элемент итерации. Когда callable возвращает значение, равное sentinel, итерация завершается.
© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/c-api/iterator.html