Итератор в Python — это объект, который позволяет последовательно проходить по элементам коллекции без необходимости знать внутреннюю структуру.
Что такое итераторы в Python? Какой магический метод реализует итератор? Как происходит перемещение к следующему элементу? Что будет, если пройтись по итератору второй раз?
Итератор в Python — это объект, который позволяет последовательно проходить по элементам коллекции без необходимости знать внутреннюю структуру.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Итератор в Python — это объект, который позволяет последовательно проходить по элементам коллекции без необходимости знать внутреннюю структуру.
Итератор реализует методы iter() и next(). Когда вызывается функция iter() на коллекции, возвращается итератор, а вызов next() последовательно возвращает элементы, пока не будет достигнут конец, после чего возбуждается исключение StopIteration.
Итераторы широко используются в циклах for, генераторах и при работе с потоками данных.
Пример:
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # 1
print(next(iterator)) # 2
print(next(iterator)) # 3
# Следующий вызов next(iterator) вызовет StopIteration