这段代码如何在python中运行?

时间:2018-03-28 06:54:20

标签: python

为什么在执行[False]时打印5,在[True]时打印6?

a = [5,6,7,8,9]
print(a[True]) #prints 6
print(a[False]) #prints 5

3 个答案:

答案 0 :(得分:3)

在此上下文中,True = 1且False = 0.这意味着如果你输入

your_list[True]

您正在使用索引1检索列表中的项目。同样,

your_list[False]

返回索引为0的列表项。

答案 1 :(得分:2)

print (a[True])打印6,因为True的值为1,然后是a[1],而false的值为0,a[0]为5。

答案 2 :(得分:1)

在python中,当您尝试在列表参数中传递True / False时,它将认为True = 1且False = 0。

因此,当您撰写a[True]时,它实际上意味着a[1]a[False]意味着a[0]。为了澄清这一点,请尝试a[-True],将其解释为a[-1]并打印9

a = [5,6,7,8,9]
print(a[True]) #prints 6
print(a[False]) #prints 5
print(a[-True]) #prints 9