diff -r b9ab48c491d5 Doc/library/functools.rst --- a/Doc/library/functools.rst Sat Oct 12 18:41:18 2013 +0200 +++ b/Doc/library/functools.rst Sat Oct 12 18:56:01 2013 +0200 @@ -185,6 +185,18 @@ The :mod:`functools` module defines the a default when the sequence is empty. If *initializer* is not given and *sequence* contains only one item, the first item is returned. + Equivalent to:: + + def reduce(function, iterable, initializer=None): + it = iter(iterable) + if initializer is None: + value = next(it) + else: + value = initializer + for element in it: + value = function(value, element) + return value + .. function:: update_wrapper(wrapper, wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES) diff -r b9ab48c491d5 Doc/library/itertools.rst --- a/Doc/library/itertools.rst Sat Oct 12 18:41:18 2013 +0200 +++ b/Doc/library/itertools.rst Sat Oct 12 18:56:01 2013 +0200 @@ -135,6 +135,9 @@ loops that truncate the stream. '0.93', '0.25', '0.71', '0.79', '0.63', '0.88', '0.39', '0.91', '0.32', '0.83', '0.54', '0.95', '0.20', '0.60', '0.91', '0.30', '0.80', '0.60'] + See :func:`functools.reduce` for a similar function that returns only the + final accumulated value. + .. versionadded:: 3.2 .. versionchanged:: 3.3