728x90
728x90
파이썬 데이터 타입 중 딕셔너리 타입의 합치기와 추가 방법 및 주의사항을 정리해 보았습니다.
- 딕셔너리 타입 추가
- 딕셔너리 타입 합치기
1. 딕셔너리 타입 추가 방법
# 직접 추가 방법
dict1 = {}
dict1['a'] = 1
dict1['b'] = 2
dict1['c'] = 3
print(dict1) # {'a': 1, 'b': 2, 'c': 3}
# setdefault 메서드 활용
dict1 = {}
dict1.setdefault('a', 1)
dict1.setdefault('b', 2)
dict1.setdefault('c', 3)
print(dict1) # {'a': 1, 'b': 2, 'c': 3}
♣ 주의사항!!
중복되는 키의 value 값 변경을 위해 직접 추가 방법과 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}
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}
2. 딕셔너리 타입 합치는 방법
update 메서드 : 중복된 키값이 존재하면 값 갱신 처리, 없으면 신규 추가 처리하는 메서드
# update 메서드 활용
dict1 = {'a':1, 'b':2, 'c':3}
dict2 = {'c':2, 'd':4}
dict1.update(dict2)
print(dict1) # {'a': 1, 'b': 2, 'c': 2, '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}
728x90
'프로그래밍 > [Python] 파이썬' 카테고리의 다른 글
[Python] 문자열 포맷팅 f-string 활용 - 파이썬 문법 (0) | 2024.09.04 |
---|---|
[Python] 파이썬 세트 타입 삭제 Remove 와 Discard 차이점은? (0) | 2024.09.02 |
[Python] 컬렉션 : 딕셔너리 자료형 (Dictionary Type) - 데이터 타입 (0) | 2024.08.31 |
[Python] 컬렉션 : 세트 자료형 (Set Type) - 데이터 타입 (0) | 2024.08.30 |
[Python] 컬렉션 : 튜플 자료형 (Tuple Type) - 생성, 확장, 인덱싱, 슬라이싱 (0) | 2024.08.29 |