- 동기 코드
- javascript array shift
- 웹 프로그래밍 기초
- html css
- 파이썬 사칙연산
- 파이썬 강의 사이트
- 파이썬 온라인 강의
- 파이썬 학원
- 파이썬 입문
- 동기 뜻
- HTML 기초
- 프로그래밍 파이썬
- 자바스크립트
- python dictionary
- jquery loaded event
- 웹 프로그래밍
- javascript array splice
- javascript array map
- 리엑트 삼항연산자
- 비동기 뜻
- 프로그래밍
- 파이썬 기초
- javascript example
- HTML
- 국비 지원 파이썬
- javascript date format
- 파이썬 세트
- JavaScript
- javascript array method
- jQuery
- python index
- javascript array push
- 비동기 코드
- 파이썬 강의
- 카카오 애드핏
- 파이썬 배우기
- javascript array add
- 제이 쿼리
- javascript 날짜 포맷 변환
- python slicing
- $(document).ready()
- javascript array remove
- 파이썬 ide 추천
- javascript array unshift
- kakao Adfit
- jupyter python
- python 다운로드
- 코딩 파이썬 기초
- Python3
- 국비 지원 프로그래밍
코딩이 즐겁다
[파이썬 입문] 딕셔너리 타입 추가 및 합치는 방법 본문
딕셔너리 타입 추가 방법
파이썬(Python)의 기존 딕셔너리 타입에 직접 추가하는 방법과 setdefault 메서드를 사용하여 추가하는 방법입니다.
직접 추가하는 방법
✅ 예제:
# 직접 추가 방법
dict1 = {}
dict1['a'] = 1
dict1['b'] = 2
dict1['c'] = 3
print(dict1) # {'a': 1, 'b': 2, 'c': 3}
setdefault() 메서드 사용하여 추가하기
✅ 예제:
# setdefault 메서드 활용
dict1 = {}
dict1.setdefault('a', 1)
dict1.setdefault('b', 2)
dict1.setdefault('c', 3)
print(dict1) # {'a': 1, 'b': 2, 'c': 3}
setdefault() 메서드 사용시 주의 사항
중복되는 키의 value 값 변경을 위해 직접 추가 방법과 setdefault 메서드를 같이 쓰고 싶은 경우에는 setdefault를 먼저 사용하고 직접 추가 및 변경 방식을 뒤에 써야 원하는 값을 추출 할 수 있다. setdefault 메서드를 나중에 쓰는 경우에는 값 변경을 할 수 없으므로 주의해야 한다!
!! setdefault 틀린 사용 예제 !!
dict1 = {}
dict1['a'] = 1
dict1['b'] = 2
dict1['c'] = 3
dict1.setdefault('a', 10)
dict1.setdefault('b', 20)
dict1.setdefault('c', 30)
print(dict1) # {'a': 1, 'b': 2, 'c': 3}
!! setdefault 올바른 사용 예제 !!
dict1 = {}
dict1.setdefault('a', 1)
dict1.setdefault('b', 2)
dict1.setdefault('c', 3)
dict1['a'] = 10
dict1['b'] = 20
dict1['c'] = 30
print(dict1) # {'a': 10, 'b': 20, 'c': 30}
딕셔너리 타입 합치는 방법
파이썬에서 딕셔너리 타입을 합치거나 수정하는 방법은 여러가지가 있습니다.
update() 메서드 사용
update() 메서드는 기존 딕셔너리에 다른 딕셔너리의 키-값 쌍을 추가하거나 덮어씁니다. 원본 딕셔너리가 변경됩니다.
✅ 예제:
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict1.update(dict2) # dict1에 dict2의 내용을 추가
print(dict1) # {'a': 1, 'b': 3, 'c': 4}
| 연산자 사용 (python 3.9 이상)
| 연산자를 사용하면 두 개의 딕셔너리를 병합한 새로운 딕셔너리를 생성합니다. 원본 딕셔너리는 변경되지 않습니다.
✅ 예제:
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = dict1 | dict2
print(merged_dict) # {'a': 1, 'b': 3, 'c': 4}
# 원본 딕셔너리는 변경되지 않음
print(dict1) # {'a': 1, 'b': 2}
print(dict2) # {'b': 3, 'c': 4}
기존 딕셔너리는 그대로 유지되고, 새로운 딕셔너리가 반환됩니다.
|= 연산자 사용 (python 3.9 이상)
|= 연산자는 update()와 비슷하게 원본 딕셔너리를 직접 수정합니다. dict1 |= dict2는 dict1.update(dict2)와 동일한 효과를 가집니다.
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict1 |= dict2
print(dict1) # {'a': 1, 'b': 3, 'c': 4}
b의 값이 2 → 3으로 변경되고, 새로운 키 c: 4가 추가되었습니다.
딕셔너리 언패킹 (** 연산자)
** 연산자를 사용하면 여러 딕셔너리를 병합한 새로운 딕셔너리를 만들 수 있습니다. Python 3.5 이상에서 사용 가능하며, | 연산자와 비슷하게 새로운 딕셔너리를 반환합니다.
✅ 예제:
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = {**dict1, **dict2}
print(merged_dict) # {'a': 1, 'b': 3, 'c': 4}
반복문을 사용하여 딕셔너리 합치기
for 루프를 사용하면 두 개 이상의 딕셔너리를 수동으로 병합할 수 있습니다. 딕셔너리를 합치는 방식에 대해 세밀한 조정이 가능합니다.
✅ 예제:
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = dict1.copy() # 원본 유지
for key, value in dict2.items():
merged_dict[key] = value # 키가 겹치면 덮어쓰기
print(merged_dict) # {'a': 1, 'b': 3, 'c': 4}
b의 값이 2 → 3으로 변경되고, 새로운 키 c: 4가 추가되었습니다.
딕셔너리 여러 개 합치기
여러 개의 딕셔너리를 한 번에 합칠 수도 있습니다.
✅ 예제 (여러 딕셔너리 update() 메서드):
dict1 = {"a": 1}
dict2 = {"b": 2}
dict3 = {"c": 3}
dict4 = {"d": 4}
merged_dict = {}
for d in [dict1, dict2, dict3, dict4]:
merged_dict.update(d)
print(merged_dict) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
✅ 예제 (여러 딕셔너리 | 연산자):
dict1 = {"a": 1}
dict2 = {"b": 2}
dict3 = {"c": 3}
dict4 = {"d": 4}
merged_dict = dict1 | dict2 | dict3 | dict4
print(merged_dict) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
✅ 예제 (여러 딕셔너리 ** 연산자):
dict1 = {"a": 1}
dict2 = {"b": 2}
dict3 = {"c": 3}
dict4 = {"d": 4}
merged_dict = {**dict1, **dict2, **dict3, **dict4}
print(merged_dict) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
✅ 예제 (다양한 ** 연산자 사용법):
dict1 = {'a':1, 'b':2, 'c':3}
dict2 = {'c':2, 'd':4}
dict3 = {'a':3, 'e':5}
print(dict(dict2, **dict1)) # {'c': 3, 'd': 4, 'a': 1, 'b': 2}
print(dict(dict1, **dict2)) # {'a': 1, 'b': 2, 'c': 2, 'd': 4}
print(dict(dict1, **dict2, **dict3)) # {'a': 3, 'b': 2, 'c': 2, 'd': 4, 'e': 5}
* 가장 앞에 오는 딕셔너리를 기준으로 두번째 딕셔너리를 덮어 쓰고 그 상태에서 세번째 딕셔너리를 덮어쓴다고 생각하면 된다. 순차적으로 덮어쓰는 구조이다.
코즐
파이썬을 배우고 싶은 사람은 누구나 파이썬 학원(국비 지원 파이썬 학원)에 가지 않고도 파이썬 공부를 하면서 실력을 쌓아나갈 수 있다고 생각합니다.
파이썬 온라인 강의 자료를 올리면서 누구나 쉽게 파이썬을 공부하실 수 있도록 최선을 다해서 설명하도록 하겠습니다.
'Python' 카테고리의 다른 글
[파이썬 기초] f-string 사용법 (반올림, 정렬, 자리수, 문자열 포맷팅) 갓벽 가이드 (99) | 2025.02.03 |
---|---|
[파이썬 입문] 세트(set) 자료형의 remove()와 discard()의 차이점 (78) | 2025.02.02 |
[파이썬 기초] 딕셔너리(Dictionary) 사용법 갓벽 가이드 (79) | 2025.01.25 |
[파이썬 기초] 세트 (Set) 타입 사용법 갓벽 가이드 (83) | 2025.01.24 |
[파이썬 기초] 튜플 (Tuple) 타입 사용법 갓벽 가이드 (84) | 2025.01.23 |