-
[Python]Dictionary의 clear()와 {} 차이점언어/파이썬 & 장고 2016. 5. 21. 11:52
아래와 같은 dict 타입의 변수가 존재한다고 할 때, 첫 번째와 두 번쨰의 차이점은 무엇일까?dict_test={"a":"1","b":"2"} #1 dict_test.clear() #2 dict_test={}
두 코드 기능은 "지운다" 라는 점에 있어 동일합니다. 하지만 dict_test라는 변수를 재사용할 때, 큰 차이점이 있습니다.
#1의 경우입니다.
dict_test={"a":"1","b":"2"} temp_dict=dict_test dict_test.clear() print(temp_dict) 결과: {}
#2의 경우입니다.
dict_test={"a":"1","b":"2"} temp_dict=dict_test dict_test={} print(temp_dict) 결과: {"a":"1","b":"2"}
#2의 경우, dict_test={}를 할 때, 새로운 {} (비어있는 dict 타입)을 새로 생성하고 dict_test의 값을 {}에 할당합니다. 이 때, temp_dict는 값이 할당되어 있는 예전 변수의 값인 {"a":"1","b":"2"}를 가리키고 있기 때문에, dict_test를 추가하거나 삭제해도 그대로 값이 존재합니다.
반면 #1의 경우, dict_test.clear()를 할 경우, dict_test와 temp_dict 둘 다 가리키고 있는 point의 값을 지워버리기 때문에 temp_dict에 값을 할당하고 clear()를 해도 가리키고 있는 point의 값이 존재하지 않게 됩니다.