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