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

[파이썬][Error] 042. IndexError - pop from empty list

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