Python lambda , 使用lambda可以做到把X,Y的值交换吗?

鹌鹑 发布于 2015/07/11 13:12
阅读 648
收藏 1
g = lambda x,y: y,x=x,y
大概意思就是这个的,想把x,y的值对换,但是上面的语法是错误的, lambda中好像不能有赋值语句??
加载中
0
Kinegratii
Kinegratii

根据Python语法,将lambda表达式写成def表达式如下:

def g(x,y):
    return y, x = x, y



很显然上述是有语法错误的,因为 在Python中赋值语句没有返回值。

即在Python中if x=3:...这样的代码是有语法错误的,必须写成if x==3。

鹌鹑
鹌鹑
Thanks
0
雪梨苹果
雪梨苹果

lambda中不能直接赋值的,它返回的是原本的参数变量。

如果你想交换x和y,可以这样写:

g=lambda x,y:(y,x)



返回顶部
顶部