itertools.cycle()
Бесконечно повторяет элементы переданного итерируемого объекта по кругу.
Сигнатура
itertools.cycle(iterable)Сохраняет копию элементов и выдаёт их по кругу: после последнего снова идёт первый. Удобно для циклического распределения, например чередования цветов или ролей.
import itertools
colors = itertools.cycle(['красный', 'зелёный', 'синий'])
print([next(colors) for _ in range(5)])
# ['красный', 'зелёный', 'синий', 'красный', 'зелёный']