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.