십대를 위한 코딩/십대를 위한 파이썬

11. 딕셔너리(dict)의 개념과 활용

forSilver 2025. 4. 1. 15:42
반응형

📘 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) 정의 및 사용법을 학습합니다.
집합은 중복을 제거하고, 함수는 프로그램의 논리를 나누어 표현할 수 있게 해줍니다.