Python有三元条件与elif有条件吗?

时间:2017-06-02 01:46:07

标签: python conditional-operator

我最近发现了这个问题:Does Python have a ternary conditional operator?并发现一种叫做三元条件a = b if c == d else e的东西。
我的问题:有一种方法可以使用elif 之类的a = b if c == d elif e == f i else j来制作三元条件。

3 个答案:

答案 0 :(得分:3)

你可以链接条件运算符,但不建议这样做,因为它很难阅读。关联性以您期望的方式工作(如每种语言aside from PHP):

a = b if c == d else i if e == f else j

这意味着英文“如果c等于d则指定b,否则,如果e等于f则指定i,如果不等则指定j。”

答案 1 :(得分:2)

你可以嵌套三元:

a = b if c == d else (i if e == f else j)

我无法想到任何具有elseif语法的三元运算符的语言。名称“三元”意味着操作员只有3个部分:条件,然后,等等。

答案 2 :(得分:2)

'Yes' if test1() else 'Maybe' if test2() else 'No'

<子> PS。另外,要小心,你可能意味着a==b正在检查是否相等,而不是a=b这是分配!