본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 041. IndexError - list index out of range

by about_IT 2025. 5. 28.
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