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