2023-08-17 19:48:01

파이썬의 딕셔너리를 깊은 복사하고 싶은 경우에는, copy 모듈의 deepcopy() 함수를 사용할 수 있습니다. 

 

copy.deepcopy()로 딕셔너리 깊은 복사하기

import copy


dict1 = {"a": 1, "b": 2, "c": 3}
dict2 = copy.deepcopy(dict1)

dict1["a"] = 10
print(dict1)  # {'a': 10, 'b': 2, 'c': 3}
print(dict2)  # {'a': 1, 'b': 2, 'c': 3}

 

dict2 = dict1 과 같은 방식은 실제로 새로운 딕셔너리를 복사해내는 것이 아니라 같은 딕셔너리를 다른 이름으로 가리킬 뿐입니다. 

 

dict1 = {"a": 1, "b": 2, "c": 3}
dict2 = dict1

dict1["a"] = 10
print(dict1)  # {'a': 10, 'b': 2, 'c': 3}
print(dict2)  # {'a': 10, 'b': 2, 'c': 3}

 

dict1에 수정을 가한 것이 dict2에도 영향을 미친 것을 확인할 수 있습니다. 

 

관련 글

- [python] 얕은 복사와 깊은 복사, 이거 모르면 큰일남