itertools module provides fast, memory-efficient tools for creating iterators. These functions work with iterators to produce complex iterators.
Module Import
Infinite Iterators
count() - Infinite Counter
cycle() - Cycle Through Iterable
repeat() - Repeat Value
Terminating Iterators
chain() - Chain Iterables
compress() - Filter by Selectors
dropwhile() and takewhile()
filterfalse() - Opposite of filter()
islice() - Slice Iterator
Combinatoric Iterators
product() - Cartesian Product
permutations() - All Permutations
combinations() - All Combinations
Grouping and Accumulating
groupby() - Group Consecutive Elements
accumulate() - Running Totals
Practical Examples
Pagination
Round Robin
Sliding Window
Flatten Nested Structure
Generate All Subsets
Pairwise Iteration
Best Practices
Complete Function List
Infinite Iterators
Infinite Iterators
count(start=0, step=1)- Count infinitelycycle(iterable)- Cycle through iterablerepeat(object, times=None)- Repeat object
Terminating Iterators
Terminating Iterators
accumulate(iterable, func=operator.add)- Running totalschain(*iterables)- Chain iterableschain.from_iterable(iterable)- Chain from iterablecompress(data, selectors)- Filter by selectorsdropwhile(predicate, iterable)- Drop while truefilterfalse(predicate, iterable)- Filter false valuesgroupby(iterable, key=None)- Group consecutiveislice(iterable, stop)- Slice iteratorpairwise(iterable)- Successive pairs (Python 3.10+)starmap(function, iterable)- Map with unpackingtakewhile(predicate, iterable)- Take while truetee(iterable, n=2)- Split iteratorzip_longest(*iterables, fillvalue=None)- Zip with padding
Combinatoric Iterators
Combinatoric Iterators
product(*iterables, repeat=1)- Cartesian productpermutations(iterable, r=None)- Permutationscombinations(iterable, r)- Combinationscombinations_with_replacement(iterable, r)- Combinations with replacement
Related Modules
functools
Higher-order functions
collections
Specialized containers
operator
Function equivalents of operators
