코딩/파이썬

[파이썬 에러] IndexError: list index out of range 해결하기

원근값 2022. 2. 9. 21:06
반응형

에러: IndexError: list index out of range


요약

리스트의 범위를 넘는 항목을 검색하여 발생하는 오류입니다.

리스트 a에서 a[50]와 같이 리스트의 항목을 구할 때는, 대괄호([])안에 리스트의 길이보다 1이상 작은 값이 들어가야 합니다.

list1 = [1,2,3,4,5,6,7,8,9,10] #리스트 범위: 0~9
print(len(list1))  #리스트 길이 10이 출력됩니다.

print(list1[0]) #list1의 0번째 항목 1이 출력됩니다.
print(list1[9]) #list1의 9번째 항목 10이 출력됩니다.
print(list1[10]) #오류 발생! 리스트의 범위는 0~9까지 입니다.

 


리스트에 대한 자세한 내용은 여기 에서 확인하세요!

 

[파이썬] 리스트에 대하여 | 생성, 불러오기, len, append, insert, 항목 바꾸기, sort, reverse, remove, clear,

차례 ● 리스트 생성 ● 리스트 항목 불러오기 ● 리스트 항목 수 확인하기: len ● 리스트 항목 추가하기: append , insert ● 리스트 항목 바꾸기 ● 리스트 정렬하기: sort, reverse ● 리스트 항목 삭제

3-14159.tistory.com


자세히

리스트의 범위가 넘는 값을 찾을 경우 발생합니다.

list1 = [1,2,3,4,5,6,7,8,9,10]

print(list1[10]) #에러가 발생하는 코드

예컨대 위 코드서 list1의 범위는 0~9까지입니다. 파이썬서(아니, 대부분 컴퓨터 언어서) 리스트는 0부터 시작합니다.

 

print(list1[10])

에서 범위가 0~9까지인 리스트 list1에서 10번째 항목을 불러왔습니다. 따라서 list1[0에서 9 사이 정수]로 바꾸어주어야 합니다. 만약 리스트의 마지막 항목을 구하고 싶다면, 'list1[len(list1)-1]'또는 'list1[-1]'을 사용하세요. (list1은 리스트 이름)

만약 오류가 for문 같이 반복문에서 발생하였다면 오류가 난 코드 앞에 print를 사용하여 항목 번호를 확인하여 보세요.

list1 = [1,2,3,4,5,6,7,8,9,10]

for i in range(11):
    print(i)     #i가 10일 때 오류가 발생합니다.
    a = list1[i] #오류발생
반응형