Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - 공통 키에 대한 값을 추가하는 두 개의 사전 결합

<시간/>

파이썬으로 데이터를 분석할 때 키 값이 동일한 요소의 값을 추가하는 방식으로 두 개의 사전을 병합해야 하는 상황에 직면합니다. 이 기사에서 우리는 그러한 두 개의 사전이 추가되는 것을 보게 될 것입니다.

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})