三元运算

python中没有其他语言中的三元表达式,不过有类似的实现方法。三元运算符通常在python中称为条件表达式,这些运算符根据条件是否为真来评估某些结果。

示例一

is_fat = True

state = "fat" if is_fat else "not fat"

print(state)

输出:

fat

它允许快速测试条件而不是多行if语句。通常它可以非常有用,可以使代码变的紧凑且可维护。
另一个更模糊且未被广泛使用的示例涉及元祖。

示例二

fat = True

fitness = ("skinny", "fat")[fat]

print(fitness)

输出:

fat

这很简单,因为True == 1和Flase == 0,因此除了元组之外还可以使用列表。上面的列子很容易混淆在哪里放置真正的值以及在元组中放置虚假值的位置。避免使用元组三元组的另一个原因是它导致元组的另外两个元素都被评估,而if-else三元运算符则没有。

示例三

# 二元运算
l1 = ["元素%s"%i for i in range(10)]

print(l1)

输出:
['元素0', '元素1', '元素2', '元素3', '元素4', '元素5', '元素6', '元素7', '元素8', '元素9']

示例四

# 三元运算
l2 = ["元素%s"%i for i in range(10) if i <5]

print(l2)

输出:
['元素0', '元素1', '元素2', '元素3', '元素4']

你可能感兴趣的:(三元运算)