Повторение последовательности заданное число раз

Волшебная сила itertools – в умении комбинировать итераторы, чтобы писать быстрый, эффективный и ясный код.

Например, сочетание itertools.chain() и itertools.from_iterable() даёт ограниченный вариант бесконечного itertools.cycle():

def ncycles(iterable, n):
    return itertools.chain(itertools.from_iterable(repeat(tuple(iterable), n)))