【发布时间】:2021-05-23 16:06:18
【问题描述】:
假设我有以下列表:A = [1,2,3,4],通过使用reduce 函数,找到元素的乘积,我可以做到
prodA = reduce(lambda x,y: x*y, A)
但是,如果我有另一个列表B=[9,8,7,6],我是否仍然可以使用reduce 函数来执行以下操作? (从上到下表示步骤)
9
(9+1)* 2
((9+1) *2)+8
(((9+1) *2)+8)*3
((((9+1) *2)+8)*3)+7
(((((9+1) *2)+8)*3)+7)*4
((((((9+1) *2)+8)*3)+7)*4)+6
我不太确定是否可以将列表B 的迭代器添加到reduce 函数中。我怎么能这样做?非常感谢!
【问题讨论】:
-
您的示例有些奇怪:除了第二步添加 2 个术语外,这些步骤总是添加 1 个术语。这是一个错误吗?在
9之后似乎应该有一个步骤9+1? -
@John Zwinck 感谢您的评论!是的,我刚刚修复了步骤:)
-
您修复了我也想知道的括号,但是您仍然遇到这种奇怪的情况,即每一步中的术语数变为 1、3、4、5、6、7、8,...... ...为什么没有2个术语的步骤?