파이썬의 딕셔너리를 깊은 복사하고 싶은 경우에는, 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에도 영향을 미친 것을 확인할 수 있습니다.
관련 글
'Dev > python' 카테고리의 다른 글
[python] 딕셔너리를 json으로 변환하는 방법 (0) | 2023.08.24 |
---|---|
[python] pydantic 모델을 json 문자열로 변환하는 방법, model_dump_json() 메서드 (0) | 2023.08.24 |
[sqlalchemy] 두 개 컬럼 나눗셈 연산하는 방법 (0) | 2023.08.22 |
[pandas] 시리즈를 데이터프레임으로 변환하는 방법, to_frame() 메서드 (0) | 2023.08.18 |
[python] 리스트 요소 중복 횟수 카운트하기 (0) | 2023.08.16 |
[python] 리스트에서 특정 요소 제거하는 방법, remove() (0) | 2023.08.15 |
[python] json의 키 리스트 추출하는 방법 (0) | 2023.08.15 |
[pandas] 데이터프레임에서 특정 셀의 값 변경하기 (0) | 2023.08.14 |