반응형
📘 Day 11. 딕셔너리(dict)의 개념과 활용
1. 딕셔너리란?
- 여러 데이터를 key: value 쌍으로 저장하는 시퀀스 자료형
- **가변형(mutable)**이며, 리스트처럼 자유롭게 값을 추가, 수정, 삭제할 수 있음
- 인덱싱 불가, 반드시 key를 통해 접근
- key는 중복 불가, 불변형(immutable) 자료형만 가능 (예: str, int, tuple)
- value는 어떤 자료형이든 저장 가능
2. 딕셔너리 생성 방법
# 1. 중괄호를 이용한 생성
student = {
"name": "홍길동",
"age": 18,
"grade": "A"
}
# 2. dict() 함수를 이용한 생성
info = dict(name="이몽룡", age=20)
3. 딕셔너리의 특징
항목 설명
데이터 형식 | {key: value} |
순서 | 파이썬 3.7부터 입력 순서 유지 (그러나 인덱스로 접근은 불가) |
중복 허용 | key는 중복 불가, value는 중복 가능 |
key 자료형 | 불변형만 가능 (str, int, float, tuple 등) |
value 자료형 | 제한 없음 |
4. 딕셔너리 연산 및 사용법
🔍 요소 접근 (읽기)
student['name'] # '홍길동'
- 존재하지 않는 key 접근 시 오류 발생 → 안전하게 접근하려면 get() 메서드 사용
student.get('score', 0) # 키가 없으면 기본값 반환 (0)
✏️ 요소 추가 및 수정
student['score'] = 95 # 새 key 추가
student['age'] = 19 # 기존 key 값 수정
❌ 요소 삭제
del student['grade']
✅ 포함 유무 확인
'name' in student # True
'score' in student # True
'address' in student # False
- in 연산자는 key의 존재 여부만 확인함
📏 길이 확인
len(student) # 저장된 항목 수 반환
5. dict에서 사용 불가능한 연산
연산 사용 가능 여부 이유
인덱싱 (dict[0]) | ❌ | 순서 개념이 없기 때문 |
슬라이싱 | ❌ | 위치 기반이 아니라 key 기반이기 때문 |
연결 (+) | ❌ | dict 간 직접 연결 불가 |
일반적인 반복문 | ❌ (변형 필요) | 반복하려면 .keys(), .values(), .items() 사용 필요 |
✅ 오늘의 정리
항목 설명
딕셔너리(dict) | key: value 형식의 자료 저장 |
key | 불변형 자료형만 가능, 중복 불가 |
value | 제한 없음 |
요소 접근 | dict[key] 또는 dict.get(key) |
요소 추가/수정 | dict[key] = value |
요소 삭제 | del dict[key] |
길이 확인 | len(dict) |
포함 여부 | 'key' in dict |
다음 차시에서는 딕셔너리에 이어 집합(set) 자료형과 함수(function) 정의 및 사용법을 학습합니다.
집합은 중복을 제거하고, 함수는 프로그램의 논리를 나누어 표현할 수 있게 해줍니다.
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
13. 집합(Set)과 함수(Function)의 기초 (1) | 2025.04.03 |
---|---|
12. 딕셔너리 메서드와 실전 활용 (0) | 2025.04.02 |
10. 리스트 복사와 고급 활용 (0) | 2025.03.31 |
09. 리스트의 활용과 정렬 (0) | 2025.03.30 |
08. 리스트(list) (2) | 2025.03.29 |