리스트 데이터의 인덱스를 벗어난 경우에 발생합니다. 간단한 예시로는 아래와 같은 경우를 들 수 있습니다.
list_data = [1, 2, 3]
print(list_data[3])
list_data의 크기는 3이기 때문에 인덱스는 0, 1, 2밖에 존재하지 않는데 3이라는 인덱스에 접근했기 때문에 에러가 발생합니다.
주로 위와 같이 직접 코드에 값을 입력하는 경우엔 실수가 잘 발생하지 않습니다. 문제는 런타임에 결정되는 값일 경우에 함수를 잘못 짜서 발생하는 경우가 대다수 입니다. 아래와 같은 예시를 볼 수 있겠습니다.
def is_valid(list_data):
return list_data[0] == 'valid_data'
list_data의 길이가 0보다 클 것이라고 가정하고 짜여진 함수 이기 때문에, list_data가 빈 리스트일 경우에 에러가 발생합니다.
'trouble-shooting' 카테고리의 다른 글
TypeError: can't subtract offset-naive and offset-aware datetimes (0) | 2022.11.22 |
---|---|
유니코드 정규화 문제 (NFC, NFD) (0) | 2022.11.21 |
[python] generator는 일회용? (map, filter와 같은 함수를 쓸 때 생기는 문제) (0) | 2022.11.11 |
TypeError: Object of type datetime is not JSON serializable (0) | 2022.11.11 |
json.dumps 한글 (0) | 2022.11.09 |