Python:Библиотека/3/Модули/builtins/iter(): различия между версиями
Материал из Онлайн справочника
Myagkij (обсуждение | вклад) (→iter()) |
Нет описания правки |
||
Строка 4: | Строка 4: | ||
==iter()== | ==iter()== | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
iter(obj) | iter(obj) | ||
iter(func, sentinel) | iter(func, sentinel) | ||
Строка 13: | Строка 13: | ||
Если ''obj'' - последовательность, не реализующая ''__iter__()'', то вызов ''iter(obj)'' эквивалентен: | Если ''obj'' - последовательность, не реализующая ''__iter__()'', то вызов ''iter(obj)'' эквивалентен: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
def iter_seq(obj): | def iter_seq(obj): | ||
i = 0 | i = 0 | ||
Строка 24: | Строка 24: | ||
Если функция вызывается с двумя аргументами, то вызов эквивалентен: | Если функция вызывается с двумя аргументами, то вызов эквивалентен: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
def iter_sen(func, sentinel): | def iter_sen(func, sentinel): | ||
while True: | while True: | ||
Строка 34: | Строка 34: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 42: | Строка 42: | ||
===№1=== | ===№1=== | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 48: | Строка 48: | ||
Вывод: | Вывод: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 54: | Строка 54: | ||
===№2=== | ===№2=== | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 60: | Строка 60: | ||
Вывод: | Вывод: | ||
<syntaxhighlight lang="python | <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
Вывод:
См.также
Внешние ссылки