我是 lambda 函数的新手。我正在尝试获取列表中元素的总和,但反复面临这个问题。在跟进在线教程时(教程链接)。以下代码对他们来说工作正常。但是,我面临着同样的问题。有人可以帮助我理解为什么会这样吗?
4 回答
不负相思意
TA贡献1777条经验 获得超10个赞
试试这个:
sum = __builtins__.sum
li = [5, 7, 22, 97, 54, 62, 77, 23, 73, 61]
l = lambda *x: sum(x)
l(*li)
如果它有效,那么这意味着你已经覆盖了sum其他地方。
函数式编程
TA贡献1807条经验 获得超9个赞
您遇到这个问题是因为您必须sum在当前的 jupyter-notebook 会话中定义了一个名为某处的函数。
请像这样更改您的代码-
import math
li = [1,2,3]
l = lambda *x: math.fsum(x)
l(*li)
如果您仍然遇到同样的错误,请告诉我们。
MMMHUHU
TA贡献1834条经验 获得超8个赞
li = [1,2,3,4,5,6,7,8,9,10]
l = (lambda *x: sum(x))
print(l(*li))
试试这段代码,这是正确执行的。
在 Tutorialspoint python 解释器中执行的答案的屏幕截图
Smart猫小萌
TA贡献1911条经验 获得超7个赞
这对我有用:
l = [1,2,3,4]
fun = (lambda *x: sum(x))
print(fun(*l))
print((lambda *x: sum(x))(1,2,3))
输出:
10
6
添加回答
举报
0/150
提交
取消