파이썬에서는 딕셔너리(dictionary)의 개별 요소만 삭제할 수도 있고, 전체 내용을 한 번에 비울 수도 있습니다. 나아가 del 문을 사용하면 딕셔너리 객체 자체를 통째로 제거하는 것도 가능합니다.
딕셔너리 삭제의 세 가지 방법
- 개별 요소 삭제 –
del dict['키']형태로 특정 키와 그에 대응하는 값을 제거합니다. - 전체 내용 비우기 –
clear()메서드를 호출하면 딕셔너리는 유지된 채 모든 항목만 사라집니다. - 딕셔너리 자체 삭제 –
del dict를 실행하면 변수와 딕셔너리 객체가 메모리에서 완전히 제거됩니다.
예제 코드
다음은 세 가지 삭제 방식을 모두 보여주는 간단한 예제입니다.
#!/usr/bin/python3
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name'] # 'Name' 키에 해당하는 항목 삭제
dict.clear() # 딕셔너리의 모든 항목 삭제
del dict # 딕셔너리 자체를 삭제
print("dict['Age']: ", dict['Age'])
print("dict['School']: ", dict['School'])실행 결과
이 코드를 실행하면 아래와 같은 결과가 출력됩니다. del dict 실행 이후에는 딕셔너리가 더 이상 존재하지 않기 때문에, 접근 시점에 예외(exception)가 발생한다는 점에 주의하세요.
Traceback (most recent call last):
File "test.py", line 8, in <module>
print("dict['Age']: ", dict['Age'])
NameError: name 'dict' is not defined정리
del 문으로 개별 항목을 지우면 나머지 데이터는 그대로 유지되지만, 딕셔너리 전체를 del로 삭제하면 해당 변수로 더 이상 접근할 수 없습니다. 따라서 데이터만 비우고 싶다면 clear()를, 객체 자체를 없애고 싶다면 del을 사용하는 것이 올바른 선택입니다.
참고 – del() 관련 추가 내용은 이후 섹션에서 더 자세히 다룹니다.