next(iterator, default)
iterator
- объект итератора, в котором определен метод __next__()
,default
- значение по умолчанию, которое будет возвращено вместо исключения StopIteration
.Функция next()
возвращает следующий элемент итератора, вызвав его метод __next__()
.
Если итератор исчерпан:
StopIteration
, если значение по умолчанию default
не задано;default
, если оно заданоДля создания объекта итератора можно воспользоваться функцией iter()
.
def fruit_generate(): # Создадим итератор при помощи генератора. for item in ['apple', 'banana', 'cherry']: yield item fruit = fruit_generate() print(next(fruit)) # apple print(next(fruit)) # banana print(next(fruit)) # cherry print(next(fruit)) # Traceback (most recent call last): # File "/home/script/next-fruit.py", line 15, in <module> # print(next(fruit)) # StopIteration
Вернем значение по умолчанию, когда итерация достигнет конца:
# Создадим итератор при помощи функции iter(). fruit = iter(['apple', 'banana', 'cherry']) print(next(fruit, 'STOP')) # apple print(next(fruit, 'STOP')) # banana print(next(fruit, 'STOP')) # cherry print(next(fruit, 'STOP')) # STOP