【发布时间】:2013-08-02 01:22:57
【问题描述】:
在 Java 中,根据条件将变量设置为值可以在一行中完成 像这样:
variable = (!true) ? 1 : 2
这将导致“2”。
有没有与此代码等效的python?
谢谢。
【问题讨论】:
-
为了将来参考,这称为三元运算符。该术语应该比“inline if”更易于搜索。
-
鉴于
!true是一个常量,将其写在一行中的最简单方法是variable = 2。 :) -
@user2357112:实际上,在 Python 中,它被称为“条件表达式”,
if明确不是 运算符。然而,经过一番抵抗,他们心软了,将sometimes called a "ternary operator"添加到the docs,因为这是每个来自 C 家族语言的人都在搜索的内容。 -
@abarnert 这只是一个例子。里面的条件可以是任何东西。
-
@Yoni201:我很确定这一点,这就是为什么我把它作为评论(带有愚蠢的笑脸)而不是答案。