是否可以在另一个三元运算符中使用一个三元运算符?
Is it possible to use a ternary operator inside another ternary operator?
所以首先,我标记了 python 2.7,因为 3.5
中的语法可能不同
我以前用过 C# python,我发现我可以在另一个内部使用三元运算符。
我很好奇 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"
不清楚如果 a
、b
和 c
是 False
,您想做什么。但当然,我们可以嵌套三元运算符:
x = "a" if a else ("b" if b else ("c" if c else None))
...但是如果你有多个条件,那么使用三元运算符不是一个好主意,它会很难阅读;在这些情况下坚持 if/elif/else。
所以首先,我标记了 python 2.7,因为 3.5
中的语法可能不同我以前用过 C# python,我发现我可以在另一个内部使用三元运算符。
我很好奇 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"
不清楚如果 a
、b
和 c
是 False
,您想做什么。但当然,我们可以嵌套三元运算符:
x = "a" if a else ("b" if b else ("c" if c else None))
...但是如果你有多个条件,那么使用三元运算符不是一个好主意,它会很难阅读;在这些情况下坚持 if/elif/else。