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
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬의 목록에서 고유 한 값 얻기 (0) | 2021.12.04 |
---|---|
Python의 matplotlib 설치 문제 (0) | 2021.12.04 |
파이썬에서 문자열 내부의 문자 위치를 얻는 방법 (0) | 2021.12.03 |
Python 3에서“1000000000000000 in range (1000000000000001)”가 빠른 이유 (0) | 2021.12.03 |
Python 3의 상대적 가져 오기 (0) | 2021.12.03 |