python减少错误?

Cha*_*pps 4 python reduce lambda arguments

以下是我的python代码:

>>> item = 1
>>> a = []
>>> a.append((1,2,3))
>>> a.append((7,2,4))
>>> sums=reduce(lambda x:abs(item-x[1]),a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: <lambda>() takes exactly 1 argument (2 given)
>>> 
Run Code Online (Sandbox Code Playgroud)

我该如何解决?谢谢!

Lau*_*ves 8

你的lambda只接受一个参数,但reduce需要一个带两个参数的函数.让你的lambda有两个参数.

既然你没有说出你想要这个代码做什么,我只会猜测:

the_sum=reduce(lambda x,y:abs(y[1]-x[1]),a)
Run Code Online (Sandbox Code Playgroud)