PHpullh
학습 라이브러리/Python/딕셔너리 심화

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, []) 는 모든 키가 같은 리스트 객체를 공유합니다. 독립된 리스트가 필요하면 컴프리헨션을 사용하세요.

Continue Learning

Python 학습을 이어가세요

총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.