파이썬 딕셔너리 복사와 편집 방법
딕셔너리란 무엇인가?
딕셔너리는 파이썬에서 제공하는 키-값 쌍으로 데이터를 저장하는 자료구조입니다. 각 키는 고유해야 하며, 키를 통해 값을 조회하거나 수정할 수 있습니다. 딕셔너리는 정보를 효율적으로 관리하고 검색하는 데 유용합니다.
원본 딕셔너리와 복사본 딕셔너리
딕셔너리를 복사할 때는 주의가 필요합니다. 단순히 =
연산자를 사용하면 원본 딕셔너리와 복사본 딕셔너리가 동일한 메모리 주소를 참조하기 때문에, 하나를 수정하면 다른 하나도 영향을 받습니다. 이러한 문제를 피하기 위해 ‘깊은 복사’ 또는 ‘얕은 복사’ 방법을 사용할 수 있습니다.
얕은 복사: .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 라이센스를 따릅니다.