Python 딕셔너리 마스터하기: 문법, 메서드, 업데이트, 정렬, 병합
Python에서 딕셔너리란?
Python 딕셔너리는 키-값 쌍의 가변적이고 순서 없는 컬렉션입니다. 키는 불변(문자열, 숫자, 튜플 등)이어야 하며 값은 모든 데이터 타입 가능. 중괄호로 선언:
students = {"Tim": 18, "Charlie": 12, "Tiffany": 22, "Robert": 25}
Python 3.7+는 삽입 순서 보존하지만 핵심 개념은 동일: 각 키가 고유하게 값에 매핑.
핵심 속성
- 키는 고유; 중복 키는 이전 항목 덮어씀.
- 키는 불변이어야 함(문자열, 숫자, 튜플).
- 키 비교는 대소문자 구분.
딕셔너리 문법
Dict = { 'Tim': 18, 'xyz': 25 }
키와 값은 콜론으로 구분, 쌍은 쉼표로 구분.

자주 쓰는 딕셔너리 메서드
copy()
딕셔너리 얕은 복사본 생성.
original = {'Tim': 18, 'Charlie': 12}
copy_dict = original.copy()
update()
다른 매핑이나 이터러블의 키-값 쌍으로 딕셔너리 업데이트.
students.update({'Sarah': 9})
items()
딕셔너리의 키-값 쌍 뷰 반환.
list(students.items())
len()
키-값 쌍 개수 반환.
len(students)
멤버십 테스트 (in)
키가 딕셔너리에 존재하는지 확인.
"email" in my_dict
항목 업데이트와 삭제
키 추가 또는 수정
students.update({"Sarah": 9})
키 삭제
del students["Charlie"]
반복과 정렬
딕셔너리는 순서 없지만 표시용으로 키 정렬 가능.
for name in sorted(students):
print(f"{name}:{students[name]}")
문자열 변환
str()로 출력 가능한 표현 획득.
print(str(students))
두 딕셔너리 병합
인기 있는 두 방법:
dict1.update(dict2)
** 언패킹 연산자 사용 (Python 3.5+):
merged = {**dict1, **dict2}
샘플 코드 조각
Python 3 예제 – 딕셔너리 생성과 출력
students = {"Tim": 18, "Charlie": 12, "Tiffany": 22, "Robert": 25}
print(students)
키 존재 확인
if "Tim" in students:
print("Tim is present")
메서드 참조표
| 메서드 | 설명 | 문법 |
| copy() | 딕셔너리 얕은 복사 | dict.copy() |
| update() | 키-값 쌍 병합 또는 추가 | dict.update(other) |
| items() | 키-값 튜플 뷰 | dict.items() |
| len() | 항목 수 | len(dict) |
| in | 키 존재 확인 | key in dict |
핵심 요약
- 딕셔너리 키는 고유, 불변, 대소문자 구분.
- 값은 중첩 딕셔너리나 리스트 포함 모든 데이터 타입 가능.
copy(), update(), **로 유연한 데이터 조작.
in 멤버십 테스트는 빠르고 Pythonic.
- Python 3.7+는 삽입 순서 보장해 반복 단순화.