[docs] There is bug about the built-in function reduce in the document

Shafreeck Sea renenglish at gmail.com
Thu Sep 6 14:38:23 CEST 2012

Hi all:
I found a bug in the document about reduce :

Here is the patch:
def reduce(function, iterable, initializer=None):
    it = iter(iterable)
    if initializer is None:
            initializer = next(it)
        except StopIteration:
            raise TypeError('reduce() of empty sequence with no initial
    accum_value = initializer
-    for x in iterable:
+   for x in it:
        accum_value = function(accum_value, x)
    return accum_value

It duplicated the first element of iterable

For example:
In [4]: reduce(lambda x,y:x+y, [1,2,3,4])
Out[4]: 10

In [5]: docreduce.reduce(lambda x,y:x+y ,[1,2,3,4])
Out[5]: 11

Sorry for my poor english !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/docs/attachments/20120906/1fc9d784/attachment-0001.html>

More information about the docs mailing list