试图从列表中删除多个整数,接收“out of index”错误

时间:2014-02-25 18:07:49

标签: python list loops

K = int(input())
m = int(input())
a = []
c = []
for i in range (1, K+1):
    a.append(i)
for i in range(m):
    b = int(input())
    c.append(b)

for j in a:
    for i in c:
        if a[j] % c[i] == 0:
             a.remove(a[j])
print(a)

目前给我的索引超出范围错误,但我没有看到它的错误。

1 个答案:

答案 0 :(得分:2)

您在迭代时修改列表。一般来说,这不是一个好主意。

根问题与this question(以及通过搜索Stack Overflow可以找到的许多其他问题)相同。


此外,您还使用列表中的项目作为索引而不是项目本身。你可能意味着:

for j in a:
    for i in c:
        if j % i == 0:
            ...