如何在带有表达式的lambda python中放置return语句?

时间:2019-02-07 06:38:47

标签: python-3.x

我打算在不定义函数的情况下简化代码。有可能吗?

a = lambda x:1 if x>1 return x-1 else return x

输出0 = 0,1 = 1,2 = 1,3 = 2

2 个答案:

答案 0 :(得分:2)

a = lambda x:1 if x>1 return x-1 else return x 

这在语法上是错误的。如果要使用if if else,请内联以使其像其他语言中的三元运算符一样工作。 您将必须编写:

# expression1 if condition else expression2
x-1 if x>1 else x

它变成:

a = lambda x: x-1 if x>1 else x

记住python中的lambda只能有一行代码。

答案 1 :(得分:1)

这是在Python中使用lambda的语法正确方法

>>> a = lambda x: x-1 if x>1 else x
>>> a(3)
2
>>> a(1)
1
>>> a(0)
0
>>> a(2)
1  

要进一步了解lambda,请访问this link