summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/functools.rst12
-rw-r--r--Doc/library/itertools.rst3
2 files changed, 15 insertions, 0 deletions
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