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
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))