Python:Библиотека/3/Модули/builtins/iter(): различия между версиями
Материал из Онлайн справочника
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показаны 3 промежуточные версии 1 участника) | |||
Строка 4: | Строка 4: | ||
==iter()== | ==iter()== | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
iter(obj) | iter(obj) | ||
iter(func, sentinel) | iter(func, sentinel) | ||
Строка 11: | Строка 11: | ||
Создаёт и возвращает итератор, который можно передавать функции ''next()'' для получения одного элемента за раз. | Создаёт и возвращает итератор, который можно передавать функции ''next()'' для получения одного элемента за раз. | ||
Если ''obj'' - последовательность, не реализующая ''__iter__()'', то вызов ''iter(obj)'' эквивалентен: | |||
<syntaxhighlight lang="python | <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 | <syntaxhighlight lang="python"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 31: | Строка 42: | ||
===№1=== | ===№1=== | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 37: | Строка 48: | ||
Вывод: | Вывод: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 43: | Строка 54: | ||
===№2=== | ===№2=== | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 49: | Строка 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
Вывод:
См.также
Внешние ссылки