PYTHON · 기초 문법
딕셔너리 심화
딕셔너리의 고급 메서드와 패턴을 다룹니다. setdefault, get, 딕셔너리 뷰 등을 포함합니다.
기초 문법중급dict딕셔너리setdefaultcomprehension
핵심 설명
딕셔너리의 고급 메서드와 패턴을 다룹니다. setdefault, get, 딕셔너리 뷰 등을 포함합니다.
Python code
# setdefault: 키가 없으면 기본값 설정 후 반환
groups: dict[str, list] = {}
for name, dept in [("Alice", "Dev"), ("Bob", "Dev"), ("Carol", "HR")]:
groups.setdefault(dept, []).append(name)
print(groups) # {'Dev': ['Alice', 'Bob'], 'HR': ['Carol']}
# dict comprehension으로 변환
prices = {"apple": 1000, "banana": 500, "cherry": 2000}
expensive = {k: v for k, v in prices.items() if v >= 1000}
print(expensive) # {'apple': 1000, 'cherry': 2000}
# 딕셔너리 뷰 활용
a = {"x": 1, "y": 2, "z": 3}
b = {"y": 20, "z": 30, "w": 40}
common_keys = a.keys() & b.keys()
print(common_keys) # {'y', 'z'}
# dict.fromkeys()
defaults = dict.fromkeys(["a", "b", "c"], 0)
print(defaults) # {'a': 0, 'b': 0, 'c': 0}
# __missing__ 활용
class AutoDict(dict):
def __missing__(self, key):
self[key] = type(self)()
return self[key]학습 팁
딕셔너리 뷰(.keys(), .items())는 집합 연산을 지원하여 교집합, 차집합 등을 구할 수 있습니다.
주의할 점
dict.fromkeys(keys, [])는 모든 키가 같은 리스트 객체를 공유합니다. 독립된 리스트가 필요하면 컴프리헨션을 사용하세요.
자주 묻는 질문
딕셔너리 심화란 무엇인가요?
딕셔너리의 고급 메서드와 패턴을 다룹니다. setdefault , get , 딕셔너리 뷰 등을 포함합니다.
딕셔너리 심화 학습 시 주의할 점은 무엇인가요?
dict.fromkeys(keys, []) 는 모든 키가 같은 리스트 객체를 공유합니다. 독립된 리스트가 필요하면 컴프리헨션을 사용하세요.