itertools library is a gem - you can compose elegant solutions
for a variety of problems with the functions it provides. In
we collect additional building blocks, recipes, and routines for working with
To get started, install the library with pip:
pip install more-itertools
The recipes from the itertools docs are included in the top-level package:
>>> from more_itertools import flatten >>> iterable = [(0, 1), (2, 3)] >>> list(flatten(iterable)) [0, 1, 2, 3]
Several new recipes are available as well:
>>> from more_itertools import chunked >>> iterable = [0, 1, 2, 3, 4, 5, 6, 7, 8] >>> list(chunked(iterable, 3)) [[0, 1, 2], [3, 4, 5], [6, 7, 8]] >>> from more_itertools import spy >>> iterable = (x * x for x in range(1, 6)) >>> head, iterable = spy(iterable, n=3) >>> list(head) [1, 4, 9] >>> list(iterable) [1, 4, 9, 16, 25]
For the full listing of functions, see the API documentation.
Blog posts about
- Yo, I heard you like decorators
- Tour of Python Itertools (Alternate)
- Real-World Python More Itertools
The version history can be found in documentation.