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

Chris Jerdonek chris.jerdonek at gmail.com
Fri Sep 28 10:58:52 CEST 2012


> Date: Thu, 6 Sep 2012 20:38:21 +0800
> From: Shafreeck Sea <renenglish at gmail.com>
> Subject: [docs] There is bug about the built-in function reduce in the
>         document
>
> I found a bug in the document about reduce :
> http://docs.python.org/library/functions.html#reduce

Hi Shafreeck, thanks for the report.  I filed an issue in the tracker
for this here:

http://bugs.python.org/issue16077

--Chris


> Here is the patch:
> def reduce(function, iterable, initializer=None):
>     it = iter(iterable)
>     if initializer is None:
>         try:
>             initializer = next(it)
>         except StopIteration:
>             raise TypeError('reduce() of empty sequence with no initial
> value')
>     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


More information about the docs mailing list