【发布时间】:2016-02-29 23:26:46
【问题描述】:
我之前创建了一个递归函数来查找列表的乘积。
现在我创建了相同的函数,但使用了reduce 函数和lamdba。
当我运行这段代码时,我得到了正确的答案。
items = [1, 2, 3, 4, 10]
print(reduce(lambda x, y: x*y, items))
但是,当我给出一个空列表时,会发生错误 - reduce() of empty sequence with no initial value。这是为什么呢?
当我创建递归函数时,我创建了处理空列表的代码,reduce 函数的问题只是它不是为了处理和清空列表而设计的吗?还是有其他原因?
我似乎无法在网上找到任何问题或任何解释原因的内容,我只能找到针对特定人员问题的解决方案的问题,没有任何解释。
【问题讨论】: