Python:Библиотека/3/Модули/builtins/iter(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Строка 11: Строка 11:
Создаёт и возвращает итератор, который можно передавать функции ''next()'' для получения одного элемента за раз.
Создаёт и возвращает итератор, который можно передавать функции ''next()'' для получения одного элемента за раз.


Если ''obj'' - последовательность, не реализующая ''__iter__()'', то вызов ''iter(obj)'' эквивалентен:


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python" enclose="div">
Строка 21: Строка 22:
</syntaxhighlight>
</syntaxhighlight>


Если функция вызывается с двумя аргументами, то вызов эквивалентен:


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python" enclose="div">

Версия от 20:59, 6 июня 2020

Проверка/Оформление/Редактирование: Мякишев Е.А.


iter()

iter(obj)
iter(func, sentinel)

Создаёт и возвращает итератор, который можно передавать функции next() для получения одного элемента за раз.

Если obj - последовательность, не реализующая __iter__(), то вызов iter(obj) эквивалентен:

def iter_seq(obj):
    i = 0
    while True:
        try: yield obj[i]
        except IndexError: raise StopIteartion
        i += 1

Если функция вызывается с двумя аргументами, то вызов эквивалентен:

def iter_sen(func, sentinel):
    while True:
        item = func()
        if item == sentinel: raise StopIteration
        yield item

Параметры

Пример

№1

Вывод:

№2

Вывод:

См.также

Внешние ссылки