Python에서 사전 비우기

Elsie Dela Pena 2023년10월10일
  1. Python에서 사전 비우기에{}할당
  2. clear()함수를 사용하여 Python에서 사전 내부의 모든 요소 제거
Python에서 사전 비우기

이 튜토리얼은 파이썬에서 사전을 비우는 방법을 보여줍니다.

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 : {}

보시다시피dict1dict2는 이제 비어 있습니다.

{}에 사전 할당 :

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()함수를 사용하는 것이 가장 좋습니다.

관련 문장 - Python Dictionary