SeouliteLab

[Python/파이썬] 두개의 딕셔너리 병합 (merge) 본문

프로그래밍

[Python/파이썬] 두개의 딕셔너리 병합 (merge)

Seoulite Lab 2024. 3. 5. 08:20

딕셔너리를 병합하는 것은 두 개 이상의 딕셔너리를 하나로 합치는 작업을 말합니다. 이를 통해 두 딕셔너리의 키-값 쌍을 모두 포함하는 새로운 딕셔너리를 만들 수 있습니다. 파이썬에서는 여러 가지 방법을 사용하여 딕셔너리를 병합할 수 있습니다.

1. 딕셔너리의 update() 메서드 사용

가장 일반적인 방법은 딕셔너리의 update() 메서드를 사용하여 하나의 딕셔너리를 다른 딕셔너리에 병합하는 것입니다. 이때, update() 메서드는 호출된 딕셔너리를 변경하고 병합될 딕셔너리를 인자로 전달합니다.

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

dict1.update(dict2)
print(dict1)  # {'a': 1, 'b': 3, 'c': 4}

2. 병합 연산자(**) 사용

파이썬 3.5 이상에서는 병합 연산자(**)를 사용하여 딕셔너리를 병합할 수 있습니다. 이 연산자는 두 딕셔너리를 병합하여 새로운 딕셔너리를 만듭니다.

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

merged_dict = {**dict1, **dict2}
print(merged_dict)  # {'a': 1, 'b': 3, 'c': 4}

3. collections 모듈의 ChainMap 사용

collections 모듈의 ChainMap 클래스를 사용하면 여러 딕셔너리를 하나의 매핑으로 병합할 수 있습니다. ChainMap은 여러 딕셔너리를 하나의 뷰로 결합하여 순차적으로 검색합니다.

from collections import ChainMap

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

merged_dict = dict(ChainMap(dict1, dict2))
print(merged_dict)  # {'a': 1, 'b': 2, 'c': 4}