728x90
IndexError: pop from empty list
오류는 리스트가 비어 있는 상태에서 pop()
메서드를 호출하려고 할 때 발생합니다. pop()
은 기본적으로 마지막 요소를 제거하면서 반환하는 함수이며, 리스트가 비어 있으면 제거할 요소가 없어 오류가 발생합니다.
이 오류는 스택 자료구조 구현이나 루프를 통한 리스트 처리 시 리스트가 비었는지 확인하지 않고 pop()
을 호출할 때 자주 발생합니다.
● 오류 발생 예시
my_list = []
my_list.pop()
리스트가 비어 있기 때문에 pop()
을 호출하면 오류가 발생합니다.
IndexError: pop from empty list
● 해결 방법
if my_list:
조건문으로 리스트가 비었는지 확인try-except
문으로 예외 처리- 길이 확인:
if len(my_list) > 0
● 예시 코드
if my_list:
item = my_list.pop()
else:
print("리스트가 비어 있습니다.")
# 또는
try:
item = my_list.pop()
except IndexError:
item = None
● 자주 하는 실수
- 루프에서 조건 없이
pop()
을 호출 - 스택 구현 시 비었는지 확인하지 않고 제거
- 사용자 입력으로 리스트가 비었을 수 있는 상황을 고려하지 않음
● 결론
IndexError - pop from empty list
오류는 비어 있는 리스트에서 요소를 제거하려고 할 때 발생합니다. 이러한 오류를 방지하기 위해서는 if 리스트:
또는 예외 처리를 통해 빈 리스트 상태를 먼저 점검하는 습관이 필요합니다.
728x90
'프로그래밍언어 > 파이썬[Error]' 카테고리의 다른 글
[파이썬][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] 039. ValueError - 'x' is not in list (0) | 2025.05.27 |
[파이썬][Error] 038. ValueError - int() base must be >= 2 and <= 36 (0) | 2025.05.27 |
[파이썬][Error] 037. ValueError - math domain error (0) | 2025.05.27 |