首页 > 解决方案 > IndexError:与目标相比,尝试查找列表中整数对的总和时,列表索引超出范围

问题描述

我试图从列表中找到这对整数,总和时应该与目标匹配。虽然它与实际目标工作正常,但是当我通过任何非目标进行测试时,我得到了错误

arr=[3,4,5,2,1]
target=1
#arr1=sorted(arr)
#print(arr1)

def arrsum(arr,target):
    #arr=sorted(arr)
    i=0
    y=len(arr)
    
   
    if len(arr)<2:
        return -1
    for i in range(y):
        if arr[i]+arr[i+1]==target:
            return i,i+1
        
         
print(arrsum(arr,target))

标签: python

解决方案


在这种情况下,您需要从中减去 1y

for i in range(y-1)

否则,在最后一部分中,最后一个元素将是arr[i],但获取arr[i+1]会导致错误


推荐阅读