728x90
반응형

dict_first = {'사과':30, '배':15, '감':10, '포도':10}
dict_second = {'사과':5, '감':25, '배':15, '귤':25}
def merge_dict(dict_first, dict_second):
result = {} # 2개의 딕셔너리를 합치는 결과 딕셔너리 변수
for k1, k2 in zip(dict_first.items(), dict_second.items()): # 2개 딕셔너리 Key, 값 쌍을 가져옴( ('사과',30),('사과',5))
if k1[0] in result: # k1[0]은 첫번째 딕셔너리의 Key. Key가 result 딕셔너리에 있으면
result[k1[0]] += k1[1] # 기존에 있는 값에 새로운 값을 더함
else: # k1[0]은 첫번째 딕셔너리의 Key. Key가 result 딕셔너리에 없으면
result[k1[0]] = k1[1] # 새로운 Key로 추가
if k2[0] in result: # k2 즉 두번째 딕셔너리 처리
result[k2[0]] += k2[1]
else:
result[k2[0]] = k2[1]
rtn = {} # 딕셔너리 Key값으로 정렬하기 위한 결과 딕셔너리 변수
for key in sorted(result.keys()): # Key값을 가져 옴. 이때 Key값으로 정렬한 것으로 사용.
rtn[key] = result[key] # rtn 변수에 Key와 값을 추가
return rtn
print(merge_dict(dict_first, dict_second))

728x90
반응형
'프로그램' 카테고리의 다른 글
| [파이썬] 문제 : 정수의 각 자리수 분리 (0) | 2023.01.17 |
|---|---|
| [파이썬] 문제 : pandas 시간대별 평균 구하기 (1) | 2023.01.16 |
| [파이썬] 문제 : 클래스 상속(__init__, __repr__) (0) | 2023.01.11 |
| [파이썬] 문제 : 문장에서 알파벳 찾기 (0) | 2023.01.11 |
| [파이썬] 문제 : pandas DataFrame의 데이터 빈도수 구하기 (0) | 2023.01.11 |
댓글