【发布时间】:2018-11-13 02:15:26
【问题描述】:
我想询问一些相当简单的关于 lambda 参数的问题。
我了解 lambda 的功能是如何工作的,但是当涉及到这个时,我对哪个是哪个参数感到困惑。
例子:
from functools import reduce
# Simple example so that I could understand based on the explanation from experts
# here. You could modify as however you wish to explain it.
product = reduce(lambda x, y: x + y, [1,2,3,4])
这里有一个比较短的版本:
product = 0
for x in [1,2,3,4]:
product = product + x
print(product)
现在,我的问题是 x 是列表的变量,还是 y 是第一个 lambda 示例中的列表变量? x 或 y 的默认值是多少(判断其中任何一个属于产品?因为我没有为“lambda 示例”初始化它的初始值,而只初始化了第二个示例。)
【问题讨论】:
-
请注意,
product = map(lambda x, y: x + y, [1,2,3,4])在尝试转换为列表时会出错。 -
您似乎将
map()与functools.reduce()混淆了。此外,您似乎将 product 与 sum 混淆了。 -
对不起,我写错了代码。我应该使用 reduce,但我已经改变了它
-
产品可以是产品价格的名称,而不仅仅是用于*的产品