ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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의 값이 존재하지 않게 됩니다.


    댓글