포스트

파이썬 딕셔너리 복사와 편집 방법

딕셔너리란 무엇인가?

딕셔너리는 파이썬에서 제공하는 키-값 쌍으로 데이터를 저장하는 자료구조입니다. 각 키는 고유해야 하며, 키를 통해 값을 조회하거나 수정할 수 있습니다. 딕셔너리는 정보를 효율적으로 관리하고 검색하는 데 유용합니다.

원본 딕셔너리와 복사본 딕셔너리

딕셔너리를 복사할 때는 주의가 필요합니다. 단순히 = 연산자를 사용하면 원본 딕셔너리와 복사본 딕셔너리가 동일한 메모리 주소를 참조하기 때문에, 하나를 수정하면 다른 하나도 영향을 받습니다. 이러한 문제를 피하기 위해 ‘깊은 복사’ 또는 ‘얕은 복사’ 방법을 사용할 수 있습니다.

얕은 복사: .copy() 메서드와 dict()

얕은 복사는 원본 딕셔너리의 키-값 쌍을 새로운 딕셔너리로 복사합니다. 이 경우 내부에 중첩된 딕셔너리가 있다면, 그 중첩된 딕셔너리는 복사되지 않습니다. 얕은 복사를 수행하는 방법은 .copy() 메서드와 dict() 생성자를 사용하는 것입니다.

1
2
3
4
5
6
original_dict = {'a': 1, 'b': 2}
copied_dict = original_dict.copy()

# 또는

copied_dict = dict(original_dict)

깊은 복사: copy 모듈의 deepcopy

깊은 복사는 원본 딕셔너리와 그 중첩된 모든 딕셔너리까지 복사합니다. 이를 위해 copy 모듈의 deepcopy 함수를 사용할 수 있습니다.

1
2
3
4
from copy import deepcopy

original_dict = {'a': 1, 'b': {'c': 2}}
copied_dict = deepcopy(original_dict)

주의사항: KeyError

딕셔너리에서 존재하지 않는 키를 조회하려고 하면 KeyError가 발생합니다. 이를 피하기 위해 .get() 메서드를 사용하거나 try-except 블록을 활용할 수 있습니다.

결론

딕셔너리를 안전하게 복사하고 편집하기 위해서는 .copy() 메서드, dict() 생성자 또는 deepcopy 함수를 사용해야 합니다. 복사 방법에 따라 원본 딕셔너리에 어떤 영향을 미치는지 잘 이해하고 사용해야 합니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.