在Python2.6中,我想做的是:
f = lambda x: if x==2 print x else raise Exception()
f(2) #should print "2"
f(3) #should throw an exception这显然不是语法。可以在lambda中执行if吗?如果可以,如何执行?
发布于 2009-10-18 16:48:44
您要查找的语法:
lambda x: True if x % 2 == 0 else False但是您不能在lambda中使用print或raise。
发布于 2009-10-18 16:33:17
为什么不直接定义一个函数呢?
def f(x):
if x == 2:
print(x)
else:
raise ValueError在这种情况下,确实没有理由使用lambda。
发布于 2015-10-21 13:43:22
可能是我到目前为止写过的最糟糕的python代码:
f = lambda x: sys.stdout.write(["2\n",][2*(x==2)-2])如果打印x == 2,
如果x != 2,你提高。
https://stackoverflow.com/questions/1585322
复制相似问题