The itertools.cycle()
method is a nice way to iterate through an iterable – e.g. a list – indefinitely in a cycling way. When all the elements are exhausted, the elements are once again red from the beginning.
from itertools import cycle
duty_persons = ["Olivier", "David", "Goran",]
duty_persons_cycle = cycle(duty_persons)
for _ in range(6):
print(next(duty_persons_cycle))
The above snippet will returned the following output:
Olivier
David
Goran
Olivier
David
Goran
As you can see in the above example, the cycle
method is quite helpful in a couple of situations:
- establishing a rolling list of duty-persons, rotating on a regular base;
- can be used when scrapping the web to cycle between hosts to outrun anti-bot policies;
- any use-case you might think of…