我想知道python中的等价物是什么:
n = 100
x = (10 < n) ? 10 : n;
print x;
由于某些原因,这在Python中不起作用。我知道我可以使用if语句,但我只是好奇,如果有一些较短的语法。
感谢。
答案 0 :(得分:17)
x = min(n, 10)
或者,更一般地说:
x = 10 if 10<n else n
答案 1 :(得分:7)
以下是Python中的ternary operator(在文档中也称为conditional expressions)。
x if cond else y
答案 2 :(得分:4)
有多种方法可以进行三元运算,第一种方法是使用2.5添加表达式
n = foo if condition else bar
如果要与低于2.5的版本兼容,可以利用布尔是int
的子类,True
的行为类似1
而False
的行为比如0
:
n = [bar, foo][condition]
另一种可能性是利用Python中运算符的行为方式或更准确地说and
和or
行为的方式:
n = condition and foo or bar
答案 3 :(得分:1)
>>> n = 100
>>> x = 10 if n > 10 else n
>>> x
10
答案 4 :(得分:1)
10 if 10 < n else n
答案 5 :(得分:1)
x = 10 if (10 < n) else n
(需要python 2.5)