Python에서 사전 비우기
Elsie Dela Pena
2023년10월10일
이 튜토리얼은 파이썬에서 사전을 비우는 방법을 보여줍니다.
Python에서 사전 비우기에{}
할당
파이썬에서 사전을 비우는 간단한 해결책은{}
를 사전에 할당하는 것입니다.
{}
를 할당하면 새 개체가 인스턴스화되고 기존 사전이 바뀝니다. 즉, 메모리의 새 참조가 새 사전에 할당되고 교체 된 이전 사전에 할당 된 메모리 공간에 가비지 컬렉션 태그가 지정됩니다.
dct = {"name": "John", "age": 23}
dct = {}
print("Dictionary contains:", dct)
출력:
Dictionary contains : {}
clear()
함수를 사용하여 Python에서 사전 내부의 모든 요소 제거
또 다른 접근 방식은 Python의 내장 함수clear()
를 사용하여 사전에있는 모든 내용을 제거하는 것입니다. 이 함수에는 매개 변수가없고 반환 값이 없습니다. 유일한 목적은 사전의 내용을 지우는 것입니다.
dict = {"name": "John", "age": 23}
dict.clear()
print("Dictionary contains :", dict)
출력:
Dictionary contains : {}
{}
와clear()
함수를 할당하는 것의 차이점은 후자는 새 인스턴스를 만들지 않고 기존 사전의 모든 콘텐츠와 사전의 참조를 제거한다는 것입니다.
동일한 사용 사례에서이 두 가지 접근 방식을 비교해 보겠습니다.
내장 함수clear()
사용 :
dict1 = {"name": "John", "age": 23}
dict2 = dict1
dict1.clear()
print("After using clear()")
print("Dictionary 1 contains :", dict1)
print("Dictionary 2 contains :", dict2)
출력:
After using clear()
Dictionary 1 contains : {}
Dictionary 2 contains : {}
보시다시피dict1
과dict2
는 이제 비어 있습니다.
{}
에 사전 할당 :
dict1 = {"name": "John", "age": 23}
dict2 = dict1
# Assign {} removes only dict1 contents
dict1 = {}
print("After assigning {}")
print("Dictionary 1 contains :", dict1)
print("Dictionary 2 contains :", dict2)
출력:
After assigning {}
Dictionary 1 contains : {}
Dictionary 2 contains : {'name': 'John', 'age': 23}
위의 예에서dict1 = {}
는 새로운 빈 사전을 생성 한 반면dict2
는 여전히dict2
값의 값을 변경하지 않는dict1
의 이전 값을 가리 킵니다. 이 경우 사전을 참조하는 다른 변수가 있기 때문에 가비지 수집이 트리거되지 않습니다.
요약하면{}
를 사용하여 사전의 모든 내용을 지우면 기존 사전 참조를 업데이트하는 대신 새 인스턴스가 생성됩니다. 동일한 사전을 참조하는 다른 이름이있는 경우 동일한 인스턴스에 대한 모든 참조도 지워지도록clear()
함수를 사용하는 것이 가장 좋습니다.