Sobes.tech
Назад к вопросам
Junior — Middle
63

Что произойдет, если при использовании метода next истечет конец коллекции или перечислителя?

Ответ от нейросети

sobes.tech AI

В Python, если при вызове метода next() для итератора достигнут конец коллекции (то есть больше нет элементов для перебора), будет вызвано исключение StopIteration.

Это стандартный способ сигнализировать о завершении итерации. Обычно next() вызывается внутри цикла for, который автоматически обрабатывает это исключение, или вручную с указанием значения по умолчанию:

iterator = iter([1, 2, 3])
print(next(iterator))  # 1
print(next(iterator))  # 2
print(next(iterator))  # 3
print(next(iterator, 'Конец'))  # 'Конец' вместо исключения

Если не указать значение по умолчанию и вызвать next() после окончания элементов, программа выбросит StopIteration.