在内联条件python中使用else

Sin*_*dyr 0 python if-statement inline

我知道我可以这样做:

z = a if switch == 1 else z = b
Run Code Online (Sandbox Code Playgroud)

但如果我想要z=a if switch=1, z=b if switch=2, and z=c if switch=3怎么办?是否有一种python有效的方法将其写为单行?

就像是:

z = a if switch == 1 else z = b if switch == 2 else z = c

谢谢,现在只是学习Python(显然).

Pat*_*pin 5

像这样:

z = a if switch == 1 else (b if switch == 2 else c)
Run Code Online (Sandbox Code Playgroud)

并且你可以坚持下去,但如果它不是3,你就没有说c之后要用什么...