중복된 Key 값이 없을 경우
dict_1 = {'A' : 1, 'B' : 2, 'C' : 3, 'D' : 4}
dict_2 = {'E' : 5, 'F' : 6, 'G' : 7, 'H' : 8}
result_dict = dict_1
result_dict.update(dict_2)
>>> result_dict
{'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6, 'G': 7, 'H': 8}
중복된 Key 값이 있을 경우
중복된 Key값이 있을 때 update를 수행하면, 업데이트할 대상으로 덮어쓰기 발생
dict_1 = {'A' : 1, 'B' : 2, 'C' : 3, 'D' : 4}
dict_2 = {'C' : 5, 'D' : 6, 'E' : 7, 'F' : 8}
따라서 Counter 를사용하여 수행하면 아래와 같습니다.
from collections import Counter
result = dict(Counter(dict_1) + Counter(dict_2))
>>> result
{'A': 1, 'B': 2, 'C': 8, 'D': 10, 'E': 7, 'F': 8}
코드를 자세히 설명하자면
Counter(dict_1)은 {'A': 1, 'B': 2, 'C': 3, 'D': 4}를 반환하고
Counter(dict_2)는 {'C': 5, 'D': 6, 'E': 7, 'F': 8}를 반환하고
이 두 개의 Counter 객체를 더하면 중복된 항목의 횟수가 더해지고 'C'와 'D'는 두 딕셔너리에 모두 있으므로 횟수가 합쳐지게 됩니다.
반응형
LIST
'Programming > Python' 카테고리의 다른 글
[Python] 비동기 프로그래밍에서 asyncio.Event 사용하기 (0) | 2023.09.08 |
---|---|
[Python] 효과적인 디버깅, 모니터링이 가능한 Python Logging (0) | 2023.09.07 |
Numba 설치하기 (0) | 2022.09.27 |
Python 알고리즘 Quick books (0) | 2022.08.03 |