Lambda表达式:返回多个值

时间:2017-02-05 04:47:57

标签: python lambda

我想通过lambda表达式实现该函数,如下所示:

而不是:

def f(x, y, z):
     return x + 1, y * 2, z * 3

我想使用lambda表达式,如下所示:

f = lambda x, y, z: x + 1, y * 2, z * 3

stacktrace:

*Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'y' is not defined*

为什么会导致错误?怎么办呢?

1 个答案:

答案 0 :(得分:5)

你的元组没有正确绑定 - lambda以第一个逗号结束。将parens放在元组周围:

f=lambda x,y,z: (x+1,y*2,z*3)