Можно ли использовать троичный оператор внутри другого троичного оператора? - PullRequest
0 голосов
/ 22 мая 2019

Итак, во-первых, я пометил python 2.7, потому что синтаксис может отличаться в 3.5

Я делал C # до Python и обнаружил, что могу использовать троичные операторы внутри друг друга.

Мне любопытно, возможно ли это и в 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"

1 Ответ

0 голосов
/ 22 мая 2019

Непонятно, что вы хотите сделать, если a, b и c равны False. Но, конечно, мы можем вкладывать троичные операторы:

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

... Но не стоит использовать троичный оператор, если у вас более одного условия, его будет трудно прочитать; придерживайтесь if / elif / else для этих случаев.

...