这段代码在python中是如何工作的?

这段代码在python中是如何工作的?,python,Python,为什么执行[False]时打印5,执行[True]时打印6 a = [5,6,7,8,9] print(a[True]) #prints 6 print(a[False]) #prints 5 在此上下文中,True=1,False=0。这意味着如果你把 your_list[True] 您正在检索索引为1的列表项。同样地 your_list[False] 用索引0返回列表中的项。< > >代码>打印(A[true ])/COD>打印6,因为true的值为1,然后 > [1 ] < /代码>

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

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

在此上下文中,True=1,False=0。这意味着如果你把

your_list[True]
您正在检索索引为1的列表项。同样地

your_list[False]

用索引0返回列表中的项。< > >代码>打印(A[true ])/COD>打印6,因为true的值为1,然后<代码> > [1 ] < /代码>,当false的值为0时,<代码> A[0 ] < /C> > Python,当您试图在列表中访问true /false作为索引时,将考虑true=1和false=0。p> 因此,当您编写

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

写答案时使用格式。这次我已经为您完成了,但下次您自己完成时,如果您正确地格式化
True
False
不仅是布尔值,而且是整数,那么就很容易阅读了。用
print(isinstance(True,int))检查它。
当您试图在列表参数中传递True/False时,这是误导性的。首先,它不是一个参数,其次,它不限于列表索引,因为
True
False
不仅表现为整数,而且是整数。