【问题标题】:Is it possible to use a ternary operator inside another ternary operator?是否可以在另一个三元运算符中使用三元运算符?
【发布时间】:2019-10-08 21:39:23
【问题描述】:

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

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

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

C# condition ? output_true : output_false

蟒蛇 output_true if condition else output_false

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

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

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

【问题讨论】:

    标签: python-2.7 syntax ternary-operator


    【解决方案1】:

    如果abcFalse,则不清楚你想做什么。但当然,我们可以嵌套三元运算符:

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

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

    【讨论】:

    • 我为糟糕的示例代码道歉,我不小心提交了草稿。但这完美地回答了我的问题。但适当地指出,如果它使代码更易于阅读,我只会使用它们。在大多数情况下不会,但有时可以。谢谢!
    猜你喜欢
    • 2021-10-06
    • 2016-10-04
    • 2020-02-20
    • 1970-01-01
    • 2018-09-10
    相关资源
    最近更新 更多