Python 使用Lambda函数和变量参数求和

Python 使用Lambda函数和变量参数求和,python,lambda,Python,Lambda,我不熟悉lambda函数。我试图获得列表中元素的总和,但却一再面临这个问题 继续学习在线教程()时。下面的代码对他们来说运行良好。但是,我面临着同样的问题 有人能帮我理解为什么会发生这种情况吗?这对我很有用: l = [1,2,3,4] fun = (lambda *x: sum(x)) print(fun(*l)) print((lambda *x: sum(x))(1,2,3)) 输出: 10 6 这对我很有用: l = [1,2,3,4] fun = (lambda *x: su

我不熟悉lambda函数。我试图获得列表中元素的总和,但却一再面临这个问题

继续学习在线教程()时。下面的代码对他们来说运行良好。但是,我面临着同样的问题

有人能帮我理解为什么会发生这种情况吗?这对我很有用:

l = [1,2,3,4]
fun = (lambda *x: sum(x))
print(fun(*l))

print((lambda *x: sum(x))(1,2,3))
输出:

10
6
这对我很有用:

l = [1,2,3,4]
fun = (lambda *x: sum(x))
print(fun(*l))

print((lambda *x: sum(x))(1,2,3))
输出:

10
6
请尝试此代码,这是正确执行的

请尝试此代码,这是正确执行的


您正面临这个问题,因为您必须在当前jupyter笔记本会话的某个地方定义了一个名为
sum
的函数

请像这样更改代码-

导入数学
li=[1,2,3]
l=lambda*x:math.fsum(x)
l(*li)

如果您仍然遇到相同的错误,请告诉我们。

您正面临此问题,因为您必须在当前jupyter笔记本会话的某个地方定义了名为
sum
的函数

请像这样更改代码-

导入数学
li=[1,2,3]
l=lambda*x:math.fsum(x)
l(*li)
如果仍然出现相同的错误,请告知我们。

尝试以下方法:

sum = __builtins__.sum
li = [5, 7, 22, 97, 54, 62, 77, 23, 73, 61]
l = lambda *x: sum(x)
l(*li)
如果有效,则表示您已在其他地方覆盖了总和。

尝试以下操作:

sum = __builtins__.sum
li = [5, 7, 22, 97, 54, 62, 77, 23, 73, 61]
l = lambda *x: sum(x)
l(*li)

如果它可以工作,那就意味着你已经在其他地方覆盖了
sum

看起来你可能已经用lambda覆盖了内置的
sum()
函数。你的代码可以正常工作:我想@jasonharper可能是正确的…@Nick,我一直在试图消除这个错误。但是,据我所知,我没有创建任何sum函数来覆盖它。您是否正常尝试了
sum()
函数,没有lambda或任何东西,您能否确保您的
sum(list)
正确工作并给出总和?看起来您可能已经覆盖了内置的
sum()
带有lambda的函数。您的代码按原样运行良好:我认为@jasonharper可能是正确的…@Nick,我一直在努力消除错误。但是,据我所知,我没有创建任何求和函数来覆盖它。您是否正常尝试了
sum()
函数,没有lambda或任何东西,您能否确保您的
sum(list)
正确工作并给出求和?但相同的代码不适用于我。我只想知道原因,这样我就可以在我的代码中解决这个问题。你能告诉我怎么解决这个问题吗?但同样的代码对我不起作用。我只想知道原因,这样我就可以在我的代码中解决这个问题。我们都知道代码正在运行,所以复制答案不会有帮助,它应该是一个配置错误。我不确定Jupyter笔记本的配置,这就是为什么我尝试在我的本地和在线口译员。是的,它对所有情况都有效,但不是他。我们都知道代码有效,所以复制答案不会有帮助,应该是配置错误。我不确定Jupyter笔记本的配置,这就是为什么我在本地和在线口译员中也试过的原因。是的,它适用于所有情况,但不适用于他的