Python - 리스트 객체 제거 (clear와 del의 차이점)

Python에서 List 객체를 메모리에서 제거하는 방법을 소개합니다.

clear()는 List가 갖고 있는 모든 요소들을 제거하지만, List 객체를 제거하진 않습니다. 즉, List 객체는 메모리에 남아있으며, 비어있는 상태가 됩니다. 반면에 del은 List 객체를 메모리에서 제거하며, 객체를 참조하려고 시도하면 에러가 발생합니다.

1. clear() 함수로 리스트의 모든 요소 제거

clear()는 아래와 같이 리스트의 모든 요소를 삭제합니다. List 객체를 출력해보면 비어있는 것을 확인할 수 있습니다.

food = ['pizza', 'hamburger', 'sandwich', 'donuts']
food.clear()

print(food)

Output:

[]

2. del 키워드로 리스트 객체 제거

del은 List 객체를 메모리에서 제거합니다. 만약 print(food)처럼 삭제된 list를 참조하려고 하면 에러가 발생합니다.

food = ['pizza', 'hamburger', 'sandwich', 'donuts']
del food

print(food)

위의 코드를 실행해보면, 제거된 List를 참조할 때 NameError: name 'food' is not defined 에러가 발생합니다.

/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.7) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Traceback (most recent call last):
  File "/home/js/IdeaProjects/python-ex/list-del.py", line 11, in <module>
    print(food)
NameError: name 'food' is not defined
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha