Что происходит при окончании перебора последовательности в итераторе Python
Python
Middle
Rutube
Что происходит при окончании перебора последовательности в итераторе Python
Ответы
Когда итератор завершает перебор последовательности, он вызывает исключение `StopIteration`. Это стандартный механизм, сигнализирующий о том, что элементы закончились.
Пример:
```
my_list = [1, 2, 3]
my_iter = iter(my_list)
print(next(my_iter)) # 1
print(next(my_iter)) # 2
print(next(my_iter)) # 3
print(next(my_iter)) # StopIteration
```
В циклах `for` это исключение обрабатывается автоматически:
```
for item in [1, 2, 3]:
print(item) # Цикл завершится без ошибок
```
При создании собственных итераторов нужно явно вызывать `raise StopIteration` или использовать `return` в генераторах.