你知道Python是否支持像C ++中的某些关键字或表达式来返回基于if
条件的值,所有这些都在同一行(用问号{{1}表示的C ++ if
})
?
答案 0 :(得分:125)
从Python 2.5开始,您可以:
value = b if a > 10 else c
以前你必须做类似下面的事情,虽然语义不一样,因为短路效应会丢失:
value = [c, b][a > 10]
还有另一个hack使用'和......或'但是最好不要使用它,因为它在某些情况下会导致难以发现的错误。我甚至不会在这里写黑客,因为我认为最好不要使用它,但如果你愿意,你可以在Wikipedia上阅读它。
答案 1 :(得分:3)
简单是最好的,适用于每个版本。
if a>10:
value="b"
else:
value="c"