Sobes.tech
Junior — Middle

Ce se întâmplă dacă, folosind metoda next, se ajunge la sfârșitul colecției sau al enumeratorului?

sobes.tech AI

Răspuns de la 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.