반응형
에러: 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] #오류발생
반응형
'코딩 > 파이썬' 카테고리의 다른 글
[파이썬 에러] ModuleNotFoundError: No module named '모듈이름' (1) | 2022.02.10 |
---|---|
[파이썬] 모듈 설치하기 (0) | 2022.02.10 |
[파이썬] 리스트에 대하여 | 생성, 불러오기, len, append, insert, 항목 바꾸기, sort, reverse, remove, clear, index, count, 그리고 슬라이싱 (0) | 2022.01.03 |
[파이썬] 최대공약수/최소공배수 구하기 - 유클리드 호제법 (0) | 2021.11.01 |