Python 딕셔너리: 키/값 쌍 추가, 업데이트, 관리 실전 가이드
Python 딕셔너리는 키/값 쌍으로 데이터를 저장하는 기초 자료구조입니다. 키는 불변이고 고유하며, 값은 중첩 구조를 포함한 모든 데이터 타입 가능.
딕셔너리 키 규칙
- 중복 키는 덮어씀: 마지막 발생이 우선.
- 허용 키 타입: 문자열, 숫자, 튜플, 기타 해시 가능 객체. 리스트 같은 가변 타입은 키로 불가.
- Python 내장 함수, 클래스, 심지어 함수 자체도 키로 사용 가능.
딕셔너리에 요소 추가
새 키/값 쌍 추가는 새 키에 값 할당으로 간단히:
my_dict = {"username": "XYZ", "email": "xyz@example.com"}
my_dict["location"] = "Mumbai"
print(my_dict)
출력: {"username": "XYZ", "email": "xyz@example.com", "location": "Mumbai"}
값이 리스트면 해당 리스트에 항목 추가:
my_dict = {"tags": []}
my_dict["tags"].append("python")
print(my_dict)
출력: {"tags": ["python"]}
딕셔너리 요소 접근
대괄호로 키로 값 조회. 키 없으면 KeyError 발생:
print(my_dict["username"]) # XYZ
print(my_dict["nonexistent"]) # KeyError
에러 방지하려면 dict.get() 또는 dict.setdefault() 사용:
print(my_dict.get("nonexistent", "default"))
요소 삭제
- del 키워드:
del my_dict["username"]
- pop() 메서드:
removed = my_dict.pop("email") 제거된 값 반환.
- clear() 메서드:
my_dict.clear() 딕셔너리 비우기.
기존 값 업데이트
기존 키에 새 값 할당으로 업데이트:
my_dict["username"] = "ABC"
print(my_dict)
딕셔너리 결합
update() 또는 합집합 연산자(|, Python 3.9+)로 두 딕셔너리 병합:
dict_a = {"a": 1, "b": 2}
dict_b = {"b": 3, "c": 4}
dict_a.update(dict_b)
print(dict_a) # {"a": 1, "b": 3, "c": 4}
# 또는
combined = dict_a | dict_b
print(combined)
딕셔너리 중첩
전체 딕셔너리를 새 키에 할당해 중첩:
parent = {"username": "XYZ"}
child = {"firstName": "Nick", "lastName": "Price"}
parent["name"] = child
print(parent)
출력: {"username": "XYZ", "name": {"firstName": "Nick", "lastName": "Price"}}
요약
- 딕셔너리 키는 고유, 해시 가능, 불변.
- 할당으로 추가/업데이트,
del 또는 pop()로 제거, clear()로 비우기.
update()와 합집합 연산자로 딕셔너리 병합 단순화.
자세한 내용은 공식 Python 문서 참조: Python Data Structures – Dictionaries.