딕셔너리를 합치기 위해 + 연산자를 사용하면, 에러가 발생합니다. +기호는 딕셔너리르 연산할 때 사용할 수 없습니다. 과거에는 update함수를 이용해야만 파이썬 dict 합치기가 가능했는데, 파이썬 3.9이상에서는 연산자를 이용해서 할 수도 있습니다. update 함수를 이용하는 방법부터 새로운 연산자까지 어떻게 해야 파이썬 딕셔너리를 합칠 수 있는지 차례대로 알아보겠습니다.
1. update 함수 이용하기
update함수는 기존 데이터에 키가 없으면 새로운 키와 값의 쌍을 추가합니다. 그리고 키와 값의 쌍이 있으면, 새로운 값으로 변경해줍니다. 예를 들어 아래와 같이 연산됩니다.
m1 = {"아침": "빵", "점심":"고기"}
m2 = {"점심": "국수", "저녁": "피자"}
m1.update(m2)
print(d1)
[결과]
{'아침': '빵', '점심': '국수', '저녁': '피자'}
'점심' 키가 동일하기 때문에 국수로 값이 변경됐습니다. 저녁은 없어서 추가됐습니다.
2. **kargs연산자 이용하기
**kargs연산자를 이용하면, 함수에 입력파라미터를 넣을 때 딕셔너리를 이용할 수 있습니다. 키가 입력파라미터의 변수명, 값이 입력값으로 처리됩니다. 이를 이용해서 아래와 같이 딕셔너리를 다시 정의하는 형태로 딕셔너리를 합칠 수 있습니다.
m3 = {**m1, **m2}
print(m3)
[결과]
{'아침': '빵', '점심': '국수', '저녁': '피자'}
3. Merge(|), Update(|=) 연산자 이용하기
파이썬 3.9이상 버전에서는 위의 2가지 새로운 연산자를 이용해 딕셔너리를 편집할 수 있습니다. Merge는 두 개의 딕셔너리를 합치는 것으로, 키에 중복이 있을 때는 뒤에 있는 값을 기준으로 변경됩니다.
m1 = {"아침": "빵", "점심":"고기"}
m2 = {"점심": "국수", "저녁": "피자"}
m1|m2
[결과]
{'아침': '빵', '점심': '국수', '저녁': '피자'}
m2|m1
[출력]
{'점심': '국수', '저녁': '피자', '아침': '빵'}
Update(|=)연산자는 기존 update함수와 동일합니다. 단 키와 값의 쌍으로 만들어진 튜플값도 업데이트 할 수 있습니다.
m1 = {"아침": "빵", "점심":"고기"}
m2 = {"점심": "국수", "저녁": "피자"}
m2|=m1
print(m2)
[결과]
{'점심': '고기', '저녁': '피자', '아침': '빵'}
m2|=[('아침', '과일'), ('점심', '설렁탕')]
print(m2)
[결과]
{'점심': '설렁탕', '저녁': '피자', '아침': '과일'}
오늘은 이렇게 파이썬 딕셔너리 합치기에 대해서 알아보았습니다. 3.9버전에서 새로운 연산자가 추가되서 조금 더 편리하게 딕셔너리를 합칠 수 있습니다. 새로운 연산자에 익숙해지는 것도 파이썬을 쉽게 사용할 수 있는 방법이 되겠네요.
'파이썬 > 파이썬 기초' 카테고리의 다른 글
파이썬 문자열 바꾸기 3종-replace, strip, title 이용하기! (0) | 2022.01.28 |
---|---|
주피터 노트북 초기 환경설정 BEST3! (0) | 2022.01.27 |
주피터 노트북 사용법, interact 모듈 사용하기 (0) | 2022.01.26 |
주피터 노트북 단축키 확인하고 쉽게 기억하는 방법은? (0) | 2022.01.26 |
파이썬 판다스 데이터프레임은 무엇이며, 어떻게 사용하는가? (0) | 2022.01.20 |
파이썬 리스트와 딕셔너리를 이쁘게 시각화 조회하는 방법! (2) | 2022.01.13 |
파이썬 컴프리헨션-딕셔너리(dictionary) for&if문까지 한 줄로 작성! (0) | 2022.01.12 |
파이썬 컴프리헨션 문법, for문과 if문 한 줄로 리스트 코딩하기 (0) | 2022.01.12 |