itertools.cycle()
itertools.cycle() is a Python function in the Itertools Module category. Creates an iterator that returns elements from the iterable, repeating indefinitely. The syntax is itertools.cycle(iterable). Parameters: iterable. Returns: Infinite iterator. A typical example: c = cycle([1,2,3])
[next(c) for _ in range(5)] # [1,2,3,1,2]. A close sibling is itertools.chain(), which creates an iterator that returns elements from the first iterable until exhausted, then proceeds to the next. A close sibling is itertools.chain.from_iterable(), which alternative chain that takes a single iterable of iterables. A close sibling is itertools.product(), which cartesian product of input iterables (like nested for-loops). A close sibling is itertools.permutations(), which returns all possible r-length ordered arrangements of elements. More about this category: Iterator building blocks — chain, product, permutations, combinations, groupby. For a broader walkthrough, read the Itertools Module guide. Related Itertools Module entries: itertools.chain(), itertools.chain.from_iterable(), itertools.product(), itertools.permutations(), itertools.combinations(), itertools.combinations_with_replacement().