If statement if语句、比较列表、python

If statement if语句、比较列表、python,if-statement,python-3.x,If Statement,Python 3.x,如果if语句不能识别a中的元素是否等于0,那么我的if语句有什么错?我试图打印的是程序永远打印0,永远打印1。干杯 a=[0,0,1,0,1,1,0,1,1,0,0,0,0,1] print(a) for i in range(len(a)): if a[i]==[0]: print('.', end='') else: print('#', end='') print() 狂欢节: 你可能想要 if a[i] == 0: 而不是 if a[i

如果if语句不能识别a中的元素是否等于0,那么我的if语句有什么错?我试图打印的是程序永远打印0
,永远打印1
。干杯

a=[0,0,1,0,1,1,0,1,1,0,0,0,0,1]
print(a)
for i in range(len(a)):
    if a[i]==[0]:
        print('.', end='')
    else:
        print('#', end='')
print()
狂欢节:

你可能想要

if a[i] == 0:
而不是

if a[i] == [0]:
您希望将项目与整数值
0
进行比较,而不是与可能需要的单个元素列表
[0]

进行比较

if a[i] == 0:
而不是

if a[i] == [0]:

您希望将项目与整数值
0
,而不是与单个元素列表
[0]

进行比较。哦,是的,谢谢。以前,当我继续测试时,我总是变得不可测试。我是编程新手,所以很难记住我以前尝试过什么。这就提出了一个反问。为什么[1]返回整数而[1:2]返回列表。我想这并不重要,但值得注意的是,我困惑的原因。cheers@JensD:切片
A[i:j]
返回长度为
j-i
的子列表。如果此差值为1,则得到长度为1的子列表。如果你自己买东西,那就不一致了。哦,是的,谢谢。以前,当我继续测试时,我总是变得不可测试。我是编程新手,所以很难记住我以前尝试过什么。这就提出了一个反问。为什么[1]返回整数而[1:2]返回列表。我想这并不重要,但值得注意的是,我困惑的原因。cheers@JensD:切片
A[i:j]
返回长度为
j-i
的子列表。如果此差值为1,则得到长度为1的子列表。如果您要获取项目本身,则不一致。