reduce()初值的默认值是多少?
reduce()的初值在函数为求和时似乎是0,在求成绩时似乎为1,如果不设置初值,这个初值是根据函数的计算式自动确定,还是在不设置的情况下不参与运算?
reduce()的初值在函数为求和时似乎是0,在求成绩时似乎为1,如果不设置初值,这个初值是根据函数的计算式自动确定,还是在不设置的情况下不参与运算?
2017-10-07
初始值是None,以下是官方文档的定义及解释:
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 it:
accum_value = function(accum_value, x)
return accum_value
文档地址:https://docs.python.org/2.7/library/functions.html#reduce
举报