自己试出来的。
代码如下:
a = lambda x: 'x>0' if x > 0 else 'x=0' if x == 0 else 'x<0' if x < 0 else 'x很奇怪'
print(a(1))
print(a(0))
print(a(-1))
输出:
x>0
x=0
x<=0
因为不会看文档,不会英文
以下为我的猜测,有错请指正:
如果要易懂一点,其实lambda函数应该表示为如下这样:
a = lambda x: 'x>0' if x > 0 else ('x=0' if x == 0 else ('x<0' if x < 0 else 'x很奇怪'))
这段lambda函数等同:
def a(x):
if x > 0:
return 'x>0'
else:
if x == 0:
return 'x=0'
else:
if x < 0:
return 'x<0'
else:
return 'x很奇怪'
只要记住:
if 前是条件正确的返回值,else后是条件错误的返回值
或是下一个if条件正确的返回值