首页 > 解决方案 > 是否可以在另一个三元运算符中使用三元运算符?

问题描述

所以首先,我标记了 python 2.7,因为 3.5 中的语法可能不同

我曾经在 python 之前做 C#,我发现我可以在彼此之间使用三元运算符。

我很好奇在 python 中是否也可以,因为它们的顺序不同。

C# condition ? output_true : output_false

Python output_true if condition else output_false

问我问题的另一种方式是:

我怎样才能制作一个达到相同效果的三元运算符

if a:
    x = "a"
elif b:
    x = "b"
else c:
    x = "c"

标签: python-2.7syntaxternary-operator

解决方案


a目前尚不清楚如果,b并且c 是,您想做什么False。但可以肯定的是,我们可以嵌套三元运算符:

x = "a" if a else ("b" if b else ("c" if c else None))

...但是如果您有多个条件,则使用三元运算符不是一个好主意,它会很难阅读;对于这些情况,请坚持使用 if/elif/else。


推荐阅读