Issue #19202: Add cross-reference and a rough code equivalent

This commit is contained in:
Raymond Hettinger 2013-10-12 16:04:17 -07:00
parent 5d4121a631
commit 64801680d3
2 changed files with 15 additions and 0 deletions

View File

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

View File

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