iterator в Python — подробно с примерами

iterator в Python — это объект, который реализует протокол итератора, состоящий из методов __iter__() и __next__().

Итераторы перебирают коллекцию элементов, таких как списки, кортежи, словари или множества, по одному элементу за раз. Они позволяют вам перемещаться по коллекции с эффективным использованием памяти, потому что они не загружают все элементы в память сразу, а генерируют каждый элемент, когда вы его запрашиваете.

Вы можете создать iterator из итерируемого объекта (например, списков, кортежей, словарей, наборов или строк), используя встроенную функцию iter(). Чтобы получить следующий элемент из итератора, используйте встроенную функцию next(). Когда не осталось элементов для возврата, итератор вызывает исключение StopIteration.

Пример iterator в Python

Выход

Вы также можете перебрать итерируемый объект, используя цикл for, который автоматически создает и обрабатывает итератор для вас:

Выход

Чтобы создать собственный итератор, вы можете определить класс, реализующий методы __iter__() и __next__():

Выход

В этом примере показано создание пользовательского итератора в Python, генерирующего числа в указанном диапазоне.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python