if语句,比较列表,python
问题描述:
我在做什么错我的if语句它不能识别a中的元素是否等于0?我试图打印的是永远0节目打印.
和永远1 #
。干杯。if语句,比较列表,python
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()
庆典:
[0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1]
##############
答
你可能想
if a[i] == 0:
,而不是
if a[i] == [0]:
要比较的项目,以整数值0
,不给小号单元素列表[0]
。
哦,是的,谢谢。之前当我继续测试时,我一直不能迭代。林新编程,所以它很难记住我以前尝试。 – JensD 2012-07-06 13:18:15
这引发了一个修辞问题。 为什么a [1]返回一个整数 而[1:2]返回一个列表。 我想这不重要,但它有趣的说明和我的困惑的原因。欢呼声 – JensD 2012-07-06 13:44:21
@JensD:切片'a [i:j]'返回长度为'j - i'的子列表。如果这种差异是1,那么你会得到一个长度为1的子列表。如果你能得到这个项目本身,这将是不一致的。 – 2012-07-06 13:48:07