PYTHON · 컬렉션
딕셔너리 — 완전 정복
Python에서 가장 많이 쓰는 자료구조. 생성, 조작, 컴프리헨션, 병합까지.
컬렉션입문dictdefaultdictgetupdateitems
핵심 설명
Python에서 가장 많이 쓰는 자료구조. 생성, 조작, 컴프리헨션, 병합까지.
Python code
# 딕셔너리 생성
d1 = {"name": "Alice", "age": 30}
d2 = dict(name="Bob", age=25)
d3 = dict.fromkeys(["a", "b", "c"], 0) # {'a':0,'b':0,'c':0}
# 접근 & 안전한 읽기
print(d1["name"]) # Alice
print(d1.get("email", "N/A")) # N/A (KeyError 없음)
# 수정
d1["email"] = "alice@test.com"
d1.update({"age": 31, "city": "Seoul"})
# setdefault — 없으면 설정하고 반환
d1.setdefault("score", 100)
# 순회
for key in d1: print(key)
for val in d1.values(): print(val)
for k, v in d1.items(): print(f"{k}: {v}")
# 딕셔너리 병합 (Python 3.9+)
merged = d1 | d2 # 새 딕셔너리
d1 |= {"extra": True} # 인플레이스 병합
# 딕셔너리 컴프리헨션
squares = {x: x**2 for x in range(1, 6)}
inverted = {v: k for k, v in squares.items()}
# 중첩 딕셔너리 안전 접근
from collections import defaultdict
word_count = defaultdict(int)
for word in "python is great and python is easy".split():
word_count[word] += 1
print(dict(sorted(word_count.items(), key=lambda x: -x[1])))학습 팁
Python 3.7+에서 딕셔너리는 삽입 순서를 보장합니다. 순서 있는 딕셔너리가 필요할 때 별도 OrderedDict는 대부분 불필요합니다.
주의할 점
존재하지 않는 키에 d["key"]로 접근하면 KeyError입니다. 불확실한 키는 항상 d.get("key", default)를 사용하세요.
자주 묻는 질문
딕셔너리 — 완전 정복란 무엇인가요?
Python에서 가장 많이 쓰는 자료구조. 생성, 조작, 컴프리헨션, 병합까지.
딕셔너리 — 완전 정복 학습 시 주의할 점은 무엇인가요?
존재하지 않는 키에 d["key"] 로 접근하면 KeyError 입니다. 불확실한 키는 항상 d.get("key", default) 를 사용하세요.
Continue Learning
Python 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.