Skip to content

Commit

Permalink
Update itertools docs (pythonGH-15114)
Browse files Browse the repository at this point in the history
* Remove suggestion that is less relevant now that global lookups are much faster
* Add link for installing the recipes
  • Loading branch information
rhettinger authored Aug 4, 2019
1 parent b1c8ec0 commit adf02b3
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions Doc/library/itertools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -691,6 +691,12 @@ Itertools Recipes
This section shows recipes for creating an extended toolset using the existing
itertools as building blocks.

Substantially all of these recipes and many, many others can be installed from
the `more-itertools project <https://pypi.org/project/more-itertools/>`_ found
on the Python Package Index::

pip install more-itertools

The extended tools offer the same high performance as the underlying toolset.
The superior memory performance is kept by processing elements one at a time
rather than bringing the whole iterable into memory all at once. Code volume is
Expand Down Expand Up @@ -913,9 +919,3 @@ which incur interpreter overhead.
result.append(pool[-1-n])
return tuple(result)

Note, many of the above recipes can be optimized by replacing global lookups
with local variables defined as default values. For example, the
*dotproduct* recipe can be written as::

def dotproduct(vec1, vec2, sum=sum, map=map, mul=operator.mul):
return sum(map(mul, vec1, vec2))

0 comments on commit adf02b3

Please sign in to comment.