next()
Функция next() извлекает следующий элемент из итератора, вызывая
его метод __next__(). Если элементов больше нет, по умолчанию
бросает StopIteration; можно передать значение по умолчанию, которое
вернётся вместо исключения.
Сигнатура
next(iterator)
next(iterator, default)
Параметры:
iterator— объект-итератор.default— значение, возвращаемое при исчерпании итератора.
Возвращает: следующий элемент итератора либо default.
Примеры
Ручное извлечение элементов:
it = iter([100, 200, 300])
print(next(it))
print(next(it))
print(next(it))
100
200
300
Использование default, чтобы избежать исключения:
it = iter([7])
print(next(it))
print(next(it, "конец"))
print(next(it, "конец"))
7
конец
конец
Обработка StopIteration:
it = iter([1, 2])
try:
while True:
print(next(it))
except StopIteration:
print("итератор закончился")
1
2
итератор закончился
Поиск первого подходящего элемента:
nums = [3, 8, 15, 22, 4]
first_big = next((n for n in nums if n > 10), None)
print(first_big)
15
Чтение генератора по шагам:
def counter():
for i in range(3):
yield i * 10
g = counter()
print(next(g))
print(next(g))
0
10
См. также
Примечание
Описание основано на официальной документации Python (docs.python.org), распространяемой под лицензией PSF License v2. © Python Software Foundation.