itertools — встроенный в Python модуль, который является сборником полезных итераторов.



Что делает itertools?

Модуль itertools содержит строительные блоки итераторов, основанные на конструкциях из языков программирования APL, Haskell и SML. В itertools есть множество конструкций, например: циклы, комбинации значений, фильтрация последовательности и т.д.



Код, приведенный выше, показывает работу функции cycle с поочередным выводом.



Для чего нужен itertools?

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



Готовые методы, реализованные в данной библиотеке, принимают различные параметры для управления генератором последовательности, чтобы вернуть вызывающей подпрограмме необходимый набор объектов.



Документация и примеры кода здесь.