我最近发现了这个问题: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
来制作三元条件。
答案 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
这是分配!