프로그래밍 언어/Python

파이썬 두 딕셔너리를 결합하는 방법

Rateye 2021. 12. 4. 12:37
728x90
반응형
질문 : 두 딕셔너리를 결합하는 파이썬적인 방법이 있습니까 (둘 다에 나타나는 키에 대한 값 추가)?

예를 들어 두 가지 사전이 있습니다.

Dict A: {'a': 1, 'b': 2, 'c': 3}
Dict B: {'b': 3, 'c': 4, 'd': 5}

결과가 다음과 같이 두 가지 사전을 '결합'하는 파이썬 방식이 필요합니다.

{'a': 1, 'b': 5, 'c': 7, 'd': 5}

즉, 키가 두 딕셔너리에 모두 나타나면 값을 추가하고 하나의 딕셔너리에만 나타나면 해당 값을 유지합니다.

답변

collections.Counter 사용하십시오.

>>> from collections import Counter
>>> A = Counter({'a':1, 'b':2, 'c':3})
>>> B = Counter({'b':3, 'c':4, 'd':5})
>>> A + B
Counter({'c': 7, 'b': 5, 'd': 5, 'a': 1})

카운터는 기본적으로 dict 의 하위 클래스이므로 키와 값을 반복하는 것과 같이 일반적으로 해당 유형으로 수행하는 다른 모든 작업을 수행 할 수 있습니다.

출처 : https://stackoverflow.com/questions/11011756/is-there-any-pythonic-way-to-combine-two-dicts-adding-values-for-keys-that-appe
728x90
반응형