Free Online Code Editor
Powerful iterator building blocks.
import itertools
# Infinite counters
print("Count:")
for i in itertools.count(10, 2):
if i > 20:
break
print(i, end=" ")
# Cycle through items
print("\n\nCycle:")
for i, color in enumerate(itertools.cycle(["red", "green", "blue"])):
if i >= 6:
break
print(color, end=" ")
# Repeat
print("\n\nRepeat:")
print(list(itertools.repeat("Hello", 3)))
# Chain iterables
print("\nChain:")
print(list(itertools.chain([1, 2], [3, 4], [5, 6])))
# Combinations
print("\nCombinations:")
print(list(itertools.combinations([1, 2, 3], 2)))
# Permutations
print("\nPermutations:")
print(list(itertools.permutations([1, 2, 3], 2)))
# Product (Cartesian product)
print("\nProduct:")
print(list(itertools.product([1, 2], ["a", "b"])))
# Groupby
print("\nGroupby:")
data = [("A", 1), ("A", 2), ("B", 3), ("B", 4)]
for key, group in itertools.groupby(data, lambda x: x[0]):
print(f"{key}: {list(group)}")
# Accumulate
print("\nAccumulate:")
print(list(itertools.accumulate([1, 2, 3, 4, 5])))itertools provides efficient iterators. count() for infinite sequences, cycle() to repeat, chain() to combine, combinations/permutations for math.