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

[파이썬][Error] 045. IndexError - tuple index out of range

by about_IT 2025. 5. 28.
728x90

IndexError: tuple index out of range 오류는 튜플에서 존재하지 않는 인덱스로 접근하려 할 때 발생합니다. 튜플은 리스트와 유사한 순서형 자료형이며, 인덱스는 0부터 시작합니다. 따라서 유효한 인덱스 범위를 초과하면 해당 오류가 발생하게 됩니다.

튜플은 불변(immutable) 구조이므로 길이가 고정되어 있으며, 요소를 수정하거나 삭제할 수 없고, 인덱스로 요소를 조회하는 경우만 가능합니다.

● 오류 발생 예시

my_tuple = (1, 2, 3)
print(my_tuple[3])

인덱스 3은 존재하지 않으므로 오류가 발생합니다. 유효한 인덱스는 0, 1, 2입니다.

● 주요 원인

  • 튜플의 길이를 고려하지 않고 고정된 인덱스로 접근
  • 빈 튜플에서 요소를 접근하려 시도
  • 튜플 내 요소 수가 변할 수 있다고 착각

● 해결 방법

  • 튜플의 길이를 len()으로 사전 확인
  • 인덱스 범위를 조건문으로 검사
  • try-except로 예외 처리

● 예시 코드 (정상 처리)

my_tuple = (1, 2, 3)
index = 3

if index < len(my_tuple):
    print(my_tuple[index])
else:
    print("해당 인덱스는 존재하지 않습니다.")

● 결론

튜플은 리스트와 마찬가지로 인덱스를 사용할 수 있지만, 불변이라는 특성을 가지므로 요소 수가 고정되어 있습니다. 따라서 인덱스 사용 시에는 항상 유효한 범위 내에서 접근해야 하며, 오류를 예방하려면 사전 검증 및 예외 처리 방식의 코드 작성을 권장합니다.

728x90