딕셔너리 (Dictionary)
학습 목표
- 딕셔너리의 키-값(Key-Value) 구조를 이해한다
- 딕셔너리 생성, 접근, 수정, 삭제를 수행할 수 있다
- 다양한 순회(Iteration) 방법을 활용할 수 있다
- 중첩 딕셔너리를 다룰 수 있다
왜 중요한가
딕셔너리는 키(Key)로 값(Value)에 빠르게 접근할 수 있는 매핑(Mapping) 자료구조입니다. O(1) 시간 복잡도로 검색이 가능하여 대량의 데이터에서도 효율적입니다. ML/DL에서 하이퍼파라미터 관리, 모델 설정, JSON 데이터 처리 등 핵심적인 역할을 합니다.딕셔너리 생성
접근과 수정
값 접근
값 수정과 추가
삭제
순회 (Iteration)
딕셔너리 주요 메서드 요약
| 메서드 | 설명 | 반환값 |
|---|---|---|
d[key] | 키로 접근 | 값 (없으면 KeyError) |
d.get(key, default) | 안전한 접근 | 값 또는 기본값 |
d[key] = value | 추가/수정 | - |
d.update(other) | 일괄 업데이트 | None |
d.pop(key, default) | 삭제 후 반환 | 값 |
d.setdefault(key, default) | 없을 때만 추가 | 기존/새 값 |
key in d | 키 존재 확인 | bool |
len(d) | 항목 수 | int |
병합 (Python 3.9+)
중첩 딕셔너리
AI/ML에서의 활용
딕셔너리의 키로 어떤 타입을 사용할 수 있나요?
딕셔너리의 키로 어떤 타입을 사용할 수 있나요?
해시 가능한(Hashable) 불변 타입만 키로 사용할 수 있습니다.
str, int, float, bool, tuple은 가능하고, list, dict, set은 불가합니다.딕셔너리의 순서는 보장되나요?
딕셔너리의 순서는 보장되나요?
Python 3.7부터 딕셔너리는 삽입 순서를 보장합니다. Python 3.6에서는 CPython 구현에서만 보장되었고, 3.7부터 언어 사양으로 공식화되었습니다.
defaultdict는 무엇인가요?
defaultdict는 무엇인가요?
collections.defaultdict는 존재하지 않는 키에 접근할 때 자동으로 기본값을 생성하는 딕셔너리입니다. collections 문서에서 자세히 다룹니다.체크리스트
- 딕셔너리 생성, 접근, 수정, 삭제를 수행할 수 있다
-
get()과[]접근의 차이를 설명할 수 있다 -
keys(),values(),items()로 순회할 수 있다 - 중첩 딕셔너리를 안전하게 접근할 수 있다

