原因
今天在看一些python题目的时候,发现了这样一个列表表达式,
[False,True][4>5
]
这种判断运算我之前从未遇到过!他不是一种列表推导式,网上搜也搜不到相关信息,看来写出这段表达式的一定是python学习或了解很久了。下面写一些我基于这种写法而实验出的结论,如果以后遇到它的正式名称,再来修补一下写的不全之处。
原理
这种表达式的特点是两个列表并排在一起,右边是一个条件判断,左边是根据条件判断而执行或返回的两段内容,与众不同的是
当右边列表条件判断为True时,左边执行列表右侧的内容
当右边列表条件判断为False时,左列表执行列表右侧的内容:
print([False, True][4 > 3])
pages = [1,0][0]
print(pages)
用途
基于上述说明,我们很明白就能想到,它跟列表推导式一样具有简化代码的作用,事实上,左侧列表的两段内容不一定是两个表达式,还可以是两个函数名!根据右侧条件执行两个函数:
def false():
print("判断错误")
def ture():
print("判断正确")
[false, ture][1 > 9]()