如果存在多个条件(if-elif-...-else),我们必须嵌套它们:
(lambda x: x * 10 if x > 10 else (x * 5 if x < 5 else x))(11)
Output:
110
但是上面的写法,又令代码变得难以阅读。
在这种情况下,具有 if-elif-...-else 条件集的普通函数将是比 lambda 函数更好的选择。实际上,我们可以通过以下方式编写上面示例中的 lambda 函数:
def check_conditions(x):
if x > 10:
return x * 10
elif x < 5:
return x * 5
else:
return x
check_conditions(11)