파이썬으로 데이터를 분석할 때 키 값이 동일한 요소의 값을 추가하는 방식으로 두 개의 사전을 병합해야 하는 상황에 직면합니다. 이 기사에서 우리는 그러한 두 개의 사전이 추가되는 것을 보게 될 것입니다.
For 루프와 | 연산자
이 접근 방식에서 우리는 두 사전에 있는 키 값의 존재를 확인하고 추가하는 for 루프를 설계합니다. 마지막으로 |를 사용하여 두 사전을 병합합니다. 사전에 사용할 수 있는 연산자입니다.
예시
dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6} dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4} # Add with common key for key in dictB: if key in dictA: dictB[key] = dictB[key] + dictA[key] else: pass res = dictA | dictB print(res)
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
출력
{'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10}
카운터 사용
Collections 모듈의 Counter 기능을 직접 적용하여 키를 보존하는 두 사전을 병합할 수 있습니다. 그리고 차례로 일치하는 키에 값을 추가합니다.
예시
from collections import Counter dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6} dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4} res = Counter(dictA) + Counter(dictB) print(res)
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
출력
Counter({'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10})