Conditional operator in Python?
本问题已经有最佳答案,请猛点这里访问。
你知道Python是否支持一些类似于C++的关键字或表达式来返回基于EDCOX1(0)条件的值,所有这些都在同一行中(C++ + EDCOX1,0)用问号EDCOX1(2)表示。
1 2 | // C++ value = ( a > 10 ? b : c ) |
从python 2.5开始,您可以执行以下操作:
1 | value = b if a > 10 else c |
以前,您必须执行如下操作,尽管语义与短路效果丢失不相同:
1 | value = [c, b][a > 10] |
还有另一个黑客使用"和…或者"但最好不要使用它,因为它在某些情况下有一种不受欢迎的行为,这会导致一个难以发现的错误。我甚至不会在这里写黑客,因为我认为最好不要使用它,但如果你想的话,你可以在维基百科上阅读。
简单是最好的,适用于所有版本。
1 2 3 4 | if a>10: value="b" else: value="c" |