PYTHON · 컬렉션
딕셔너리 컴프리헨션
딕셔너리 컴프리헨션으로 딕셔너리를 간결하게 생성하고 변환합니다.
컬렉션중급dict comprehension딕셔너리컴프리헨션
핵심 설명
딕셔너리 컴프리헨션으로 딕셔너리를 간결하게 생성하고 변환합니다.
Python code
# 기본 딕셔너리 컴프리헨션
squares = {x: x**2 for x in range(1, 6)}
print(squares) # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
# 키-값 뒤집기
inv = {v: k for k, v in squares.items()}
print(inv) # {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
# 조건부 필터링
scores = {"Alice": 85, "Bob": 62, "Carol": 91, "Dave": 45}
passed = {k: v for k, v in scores.items() if v >= 70}
print(passed) # {'Alice': 85, 'Carol': 91}
# 중첩 딕셔너리 변환
students = {
"Alice": {"math": 90, "eng": 85},
"Bob": {"math": 70, "eng": 92},
}
averages = {name: sum(s.values()) / len(s)
for name, s in students.items()}
print(averages) # {'Alice': 87.5, 'Bob': 81.0}
# zip으로 두 리스트를 딕셔너리로
keys = ["name", "age", "city"]
values = ["Alice", 30, "서울"]
info = {k: v for k, v in zip(keys, values)}
print(info) # {'name': 'Alice', 'age': 30, 'city': '서울'}학습 팁
두 리스트를 딕셔너리로 변환할 때 dict(zip(keys, values))가 컴프리헨션보다 간결합니다.
주의할 점
값이 중복되는 키-값 뒤집기에서는 마지막 값만 남습니다. 모든 값을 보존하려면 defaultdict(list)를 사용하세요.
자주 묻는 질문
딕셔너리 컴프리헨션란 무엇인가요?
딕셔너리 컴프리헨션으로 딕셔너리를 간결하게 생성하고 변환합니다.
딕셔너리 컴프리헨션 학습 시 주의할 점은 무엇인가요?
값이 중복되는 키-값 뒤집기에서는 마지막 값만 남습니다. 모든 값을 보존하려면 defaultdict(list) 를 사용하세요.
Continue Learning
Python 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.