![](/img/trans.png)
[英]error when comparing files : IndexError: list index out of range
[英]Index out of range error when comparing values
a=[8,24,3,20,1,17]
r=[]
for i in a:
for j in a:
s=a[i]-a[j]
r.append(s)
print r
当我运行该程序时,为什么此问题的索引超出范围错误?
您正在迭代值,应该这样做
for i in range(len(a)):
i
和j
已经是您列表中的元素。 无需索引a
。
因此,改为使用s = ij
您的问题是a[i]
在第一次迭代时变成a[8]
,这超出了范围
i
和j
是值 ,您误将它们用作索引 。
i
和j
从8开始(列表的第一个元素)。 自然, a[8]
给您一个错误,因为列表的大小小于此大小。
也许是因为当你做
`for i in list:`
i
不是索引,而是实际数字。
尝试做
a=[8,24,3,20,1,17]
r=[]
for i, x in enumerate(a):
for j, y in enumerate(a):
s = a[i]-a[j]
r.append(s)
print r
要么
a=[8,24,3,20,1,17]
r=[]
for i in range(len(a)):
for j in range(len(a)):
s = a[i]-a[j]
r.append(s)
print r
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.