반응형

💬 IndexError: list index out of range
리스트의 범위를 벗어난 인덱스를 접근할 때 자주 나오는 에러입니다.

 

❗ 에러 메시지 예시

 

IndexError: list index out of range

 

리스트나 튜플 등 인덱스로 접근 가능한 자료형에서
존재하지 않는 인덱스를 호출하면 발생합니다.

 


 

🔍 원인: 리스트 길이보다 큰 인덱스를 호출

 

my_list = [10, 20, 30]
print(my_list[3])  # ❌ 존재하지 않음 → IndexError

 

→ 인덱스는 0부터 시작합니다. 위 리스트의 인덱스는 0, 1, 2뿐입니다.

 


 

🧪 자주 발생하는 상황

① for문에서 범위를 잘못 설정

for i in range(len(my_list) + 1):
    print(my_list[i])  # 마지막에 IndexError 발생

 

② 빈 리스트에 접근

data = []
print(data[0])  # ❌ 빈 리스트 → 어떤 인덱스도 존재하지 않음

 


 

 

🛠️ 해결 방법

1. 리스트의 길이를 먼저 확인하기

if len(data) > 0:
    print(data[0])

 

2. try-except로 안전하게 처리

try:
    print(my_list[3])
except IndexError:
    print("유효하지 않은 인덱스입니다.")

 


 

✅ 마무리 정리

  • 인덱스는 항상 0 ~ len(list)-1 사이여야 합니다.
  • len() 함수로 범위를 확인하고, 잘못된 접근은 예외처리로 막으세요.
반응형

+ Recent posts