next(iterator) вызывает получение следующего элемента и поднимает StopIteration при завершении. next(iterator, default) вместо этого возвращает указанное значение по умолчанию.
Можешь рассказать, как работает next()?
next(iterator) вызывает получение следующего элемента и поднимает StopIteration при завершении. next(iterator, default) вместо этого возвращает указанное значение по умолчанию.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
next(iterator) вызывает получение следующего элемента и поднимает StopIteration при завершении. next(iterator, default) вместо этого возвращает указанное значение по умолчанию.
it = iter([10])
next(it) # 10
next(it, None) # None
Сам список не является итератором, поэтому сначала нужен iter. Вызов сдвигает состояние и не возвращает элемент назад. default обрабатывает только завершение итерации, а не произвольную ошибку внутри генератора.