From 64801680d3b8fe148da331b68923f06f626f01f1 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 12 Oct 2013 16:04:17 -0700 Subject: Issue #19202: Add cross-reference and a rough code equivalent --- Doc/library/functools.rst | 12 ++++++++++++ Doc/library/itertools.rst | 3 +++ 2 files changed, 15 insertions(+) diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index d8fcf0f..3c946e3 100644 --- a/Doc/library/functools.rst +++ b/Doc/library/functools.rst @@ -185,6 +185,18 @@ The :mod:`functools` module defines the following functions: 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 --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 25f34bf..0156c05 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -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 -- cgit v0.12