반응형
💬 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() 함수로 범위를 확인하고, 잘못된 접근은 예외처리로 막으세요.
반응형
'IT' 카테고리의 다른 글
VSCode 확장팩 TOP 5 (2025 최신) + 실사용 꿀팁까지! (0) | 2025.06.26 |
---|---|
🔸 [에러 해결] SettingWithCopyWarning – 값은 바꿨는데 왜 경고가 뜨지? (0) | 2025.06.21 |
[에러 해결] TypeError: 'int' object is not subscriptable – 리스트처럼 쓰면 안 돼요! (0) | 2025.06.19 |
[에러 해결] KeyError – 존재하지 않는 키라고요? (0) | 2025.06.11 |
[에러 해결] ValueError: could not convert string to float – 왜 이런 에러가 날까? (0) | 2025.06.11 |