본문 바로가기

IT 차곡차곡/Python

[Python] 파이썬 에러/ IndexError: list index out of range

line 14, in <module> arr.remove(arr[j])IndexError: list index out of range

 

arr = [int(input()) for _ in range(9)]

arr2 = [0 for _ in range(9)]
breaker = False

for i in range(9):
    arr2[i] = sum(arr) - arr[i]
    for j in range(i+1, 9):
        if arr2[i] - arr[j] == 100:
            print(i, j)
            arr.remove(arr[i])
            arr.remove(arr[j])
            breaker = True
            break
    if breaker == True:
        break

 

해결방법

배열의 인덱스범위를 벗어나서 발생한 문제다.

 

해당 코드에서 if문 조건에 해당하는 인덱스 i와 j는 4와 8이었다

 

arr.remove로 값을 arr[4]에 해당하는 값을 지우고나서 arr[8]에 해당하는 값을 지우려니

 

arr의 길이는 9에서 8이 되었기 때문에 arr의 인덱스범위를 벗어나서 에러가 발생했다.