Python:Библиотека/3/Модули/builtins/iter(): различия между версиями
Материал из Онлайн справочника
Myagkij (обсуждение | вклад) (→iter()) |
Myagkij (обсуждение | вклад) (→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
Вывод:
См.также
Внешние ссылки