The cycle() function repeats a sequence of values. This can be used when partitioning data into subsets by cycling among the dataset identifiers.
We can imagine using it to solve silly fizz-buzz problems. Visit http://rosettacode.org/wiki/FizzBuzz for a comprehensive set of solutions to a fairly trivial programming problem. Also see https://projecteuler.net/problem=1 for an interesting variation on this theme.
We can use the cycle() function to emit sequences of True and False values as follows:
m3 = (i == 0 for i in cycle(range(3))) m5 = (i == 0 for i in cycle(range(5)))
These are infinite sequences that have a pattern of [True, False, False, True, False, False, ...] or [True, False, False, False, False, ...