Junior
89
questionbank
Что такое итератор?
Ответ от нейросети
sobes.tech AI
Итератор в Python — это объект, который реализует протокол итератора. Протокол итератора требует наличия двух методов: __iter__() и __next__().
- Метод
__iter__()должен вернуть сам объект-итератор. - Метод
__next__()должен возвращать следующий элемент из последовательности. Если элементов больше нет, он должен вызвать исключениеStopIteration.
Итераторы позволяют последовательно проходить по элементам коллекции или последовательности, не загружая все элементы в память одновременно. Это особенно полезно при работе с большими объемами данных.
Примеры использования:
# Создание списка
my_list = [1, 2, 3]
# Получение итератора из списка
my_iterator = iter(my_list)
# Использование метода __next__() для последовательного получения элементов
print(next(my_iterator)) # Выводит 1
print(next(my_iterator)) # Выводит 2
print(next(my_iterator)) # Выводит 3
# Попытка получить следующий элемент вызовет StopIteration
# print(next(my_iterator))
Цикл for в Python автоматически работает с итераторами. Когда вы пишете for item in iterable:, Python сначала вызывает iter(iterable) для получения итератора, а затем многократно вызывает next() на этом итераторе, пока не получит StopIteration.
# Цикл for использует итераторы
for item in my_list:
print(item)