IndexError:使用嵌套循环时列出索引超出范围

时间:2020-06-06 18:17:44

标签: python-3.x

A = [34,23,1,24,75,33,54,8]
K = 60
solution=[]
for  i in range(len(A)):
    for j in range(i+1,len(A)):
        v=solution[(A[i]+A[j])]
print(v)

您好,我想获取包含各个总和的结果的列表:34 + 23 34 + 1 34 + 24,依此类推,然后是下一个23 + 1,23 + 24,依此类推。

2 个答案:

答案 0 :(得分:0)

您的代码失败,因为它试图将v的第(A[i]+A[j])个元素设置为solution,该元素为空,因此该值不存在。

如果我了解您要执行的操作,那么应该可以得到预期的结果。

A = [34,23,1,24,75,33,54,8]

v = [[A[x] + A[i] for i in range(x + 1, len(A))] for x in range(len(A))]

答案 1 :(得分:0)

如您所见,

列表索引从0到(n-1),其中n是len(list)。

因此A(len(A))不存在。导致错误。

所以要解决此替换问题

len(A) 

作者

len(A) - 1

在所有范围函数实例中。