Функция iter и два аргумента
Функция iter имеет еще один способ использования. Итератор можно создать, передав в iter в качестве первого аргумента обычную функцию, которая будет возвращать следующий элемент последовательности при каждом вызове, а вторым аргументом — значение, при котором итерация должна завершиться. Рассмотрим это на примере (см. изображение).
Использование lambda в данном примере необходимо, так как переданная в iter функция должна вызываться без аргументов. Сформированный таким образом итератор будет вызывать указанную функцию многократно, пока она не вернет значение, указывающее на завершение. В этот момент итератор сгенерирует исключение StopIteration, и итерация прекратится.
Post #620
1.47K

- ❤ 5