Функция
cycle() из itertools принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта.Фишка заключается в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элемента.
Но если вы проходитесь циклом по такому итератору, то важно предусмотреть выход из цикла, иначе он станет бесконечным (как у нас в первом случае на картинке).
Мы также можем воспользоваться
islice(), который вернет итератор по подмножеству переданного объекта.#itertools
