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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показаны 3 промежуточные версии 1 участника)
Строка 4: Строка 4:
==iter()==
==iter()==


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python">
iter(obj)
iter(obj)
iter(func, sentinel)
iter(func, sentinel)
Строка 11: Строка 11:
Создаёт и возвращает итератор, который можно передавать функции ''next()'' для получения одного элемента за раз.
Создаёт и возвращает итератор, который можно передавать функции ''next()'' для получения одного элемента за раз.


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


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python">
def iter_seq(obj)
def iter_seq(obj):
     i = 0
     i = 0
     while True:
     while True:
Строка 19: Строка 20:
         except IndexError: raise StopIteartion
         except IndexError: raise StopIteartion
         i += 1
         i += 1
</syntaxhighlight>
Если функция вызывается с двумя аргументами, то вызов эквивалентен:
<syntaxhighlight lang="python">
def iter_sen(func, sentinel):
    while True:
        item = func()
        if item == sentinel: raise StopIteration
        yield item
</syntaxhighlight>
</syntaxhighlight>


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


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


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


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


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


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


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


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


</syntaxhighlight>
</syntaxhighlight>
Строка 49: Строка 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

Вывод:

См.также

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