很多语言都有三元运算符,但唯独 Python 没有。这里介绍一种方法:
n = _bool and a or b
其中 _bool 为布尔型,a、b 为需要的值。
例如:
print(5<6 and 2 or 1) print(5>6 and 2 or 1)
将输出:
2 1
但该方法有个缺陷,如果 a 为 0、False、None 等值,则只能得到 b:
print(1>0 and 0 or 5)
将输出:
5

很多语言都有三元运算符,但唯独 Python 没有。这里介绍一种方法:
n = _bool and a or b
其中 _bool 为布尔型,a、b 为需要的值。
例如:
print(5<6 and 2 or 1) print(5>6 and 2 or 1)
将输出:
2 1
但该方法有个缺陷,如果 a 为 0、False、None 等值,则只能得到 b:
print(1>0 and 0 or 5)
将输出:
5