728x90
IndexError: list index out of range
오류는 리스트(list)에 존재하지 않는 인덱스로 접근하려 할 때 발생합니다. 리스트의 길이를 초과하는 인덱스를 사용할 경우 이 오류가 발생하게 됩니다.
파이썬의 리스트 인덱스는 0부터 시작하기 때문에, 마지막 요소에 접근하려면 len(list) - 1
까지의 인덱스를 사용해야 합니다. 범위를 벗어난 인덱스는 런타임 오류를 유발합니다.
● 오류 발생 예시
my_list = [10, 20, 30]
print(my_list[3])
리스트에는 인덱스 0, 1, 2까지만 존재하는데, 인덱스 3에 접근하면 오류가 발생합니다.
● 주요 원인
- 반복문에서 잘못된 인덱스 범위 사용
- 빈 리스트에서 요소를 접근하려 함
- 리스트의 길이를 고려하지 않은 하드코딩된 인덱스 사용
● 해결 방법
len()
함수를 사용하여 유효한 인덱스 범위 확인try-except
블록으로 예외 처리- 리스트가 비어 있는지 사전 확인 후 접근
● 예시 코드 (정상 처리)
my_list = [10, 20, 30]
index = 3
if index < len(my_list):
print(my_list[index])
else:
print("유효하지 않은 인덱스입니다.")
● 결론
리스트 인덱스를 사용할 때는 항상 범위를 확인해야 합니다. list[index]
방식은 매우 직관적이지만, 존재하지 않는 인덱스를 실수로 사용할 경우 프로그램이 중단될 수 있으므로 예외 처리 또는 조건 검사를 통해 안전하게 사용하는 습관을 들이는 것이 좋습니다.
728x90
'프로그래밍언어 > 파이썬[Error]' 카테고리의 다른 글
[파이썬][Error] 045. IndexError - tuple index out of range (0) | 2025.05.28 |
---|---|
[파이썬][Error] 044. KeyError - 'key' when using dict[key] (0) | 2025.05.28 |
[파이썬][Error] 040. ValueError - time data '2024-99-99' does not match format '%Y-%m-%d' (0) | 2025.05.28 |
[파이썬][Error] 043. KeyError - 'missing_key' (0) | 2025.05.28 |
[파이썬][Error] 042. IndexError - pop from empty list (0) | 2025.05.28 |