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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{Python/Панель перехода}} {{Myagkij-редактор}} ==iter()== <syntaxhighlight lang="python" enclose="div"> iter() </syntaxhighlight> ==П...»)
 
Нет описания правки
 
(не показано 5 промежуточных версий 1 участника)
Строка 4: Строка 4:
==iter()==
==iter()==


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python">
iter()
iter(obj)
iter(func, sentinel)
</syntaxhighlight>
</syntaxhighlight>


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


Если ''obj'' - последовательность, не реализующая ''__iter__()'', то вызов ''iter(obj)'' эквивалентен:
<syntaxhighlight lang="python">
def iter_seq(obj):
    i = 0
    while True:
        try: yield obj[i]
        except IndexError: raise StopIteartion
        i += 1
</syntaxhighlight>
Если функция вызывается с двумя аргументами, то вызов эквивалентен:
<syntaxhighlight lang="python">
def iter_sen(func, sentinel):
    while True:
        item = func()
        if item == sentinel: raise StopIteration
        yield item
</syntaxhighlight>


==Параметры==
==Параметры==


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


</syntaxhighlight>
</syntaxhighlight>
Строка 20: Строка 42:
===№1===
===№1===


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


</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 48:
Вывод:
Вывод:


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


</syntaxhighlight>
</syntaxhighlight>
Строка 32: Строка 54:
===№2===
===№2===


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


</syntaxhighlight>
</syntaxhighlight>
Строка 38: Строка 60:
Вывод:
Вывод:


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


</syntaxhighlight>
</syntaxhighlight>

Текущая версия от 19:52, 23 мая 2023

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


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

Вывод:

См.также

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