您知道Python是否支持一些关键字或表达式,如in C++,以便根据if
条件返回值,所有这些都在同一行中(用问号?
表示的C++ if
)
// C++
value = ( a > 10 ? b : c )
发布于 2010-02-03 20:44:47
从Python 2.5开始,您可以执行以下操作:
value = b if a > 10 else c
以前,您必须执行类似以下的操作,尽管语义并不相同,因为短路效应会丢失:
value = [c, b][a > 10]
还有另一种使用'and ... or‘的黑客攻击,但最好不要使用它,因为它在某些情况下有不受欢迎的行为,可能导致很难找到bug。我甚至不会在这里写hack,因为我认为最好不要使用它,但如果你愿意,你可以在Wikipedia上读到它。
发布于 2010-02-03 20:51:55
简单是最好的,适用于每个版本。
if a>10:
value="b"
else:
value="c"
https://stackoverflow.com/questions/2191890
复制相似问题