python是否有elif的三元条件?

Does Python have ternary conditional with elif?

本问题已经有最佳答案,请猛点这里访问。

我最近发现了这个问题:python有三元条件运算符吗?并发现一种叫做三元条件a = b if c == d else e的东西。
我的问题:有一种方法可以用elif使三元条件化?有点像a = b if c == d elif e == f i else j


您可以链接条件运算符,但不建议这样做,因为它很难读取。关联性按您期望的方式工作(就像除了PHP以外的所有语言):

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

这意味着在英语中,"如果c等于d,将b赋给a,否则,如果e等于f,则将i赋给f,如果不等于f,则将j赋给i。"


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

另外,要小心,你可能是指检查是否相等的a==b,而不是指分配的a=b


您可以嵌套三元:

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

我想不出任何一种语言有一个具有elseif语法的三元运算符。"三元"这个名字意味着操作者只有三个部分:条件,然后,和其他。