파이썬 초보자 여러분 반가워요!
이번 강의에서는 리스트, 튜플에 이어서 파이썬의 세 번째 핵심 자료구조인 딕셔너리(Dictionary)를 깊이 있게 다뤄보겠습니다. 딕셔너리는 데이터를 “이름표”로 구분해서 저장할 수 있어, 실전에서 정말 많이 쓰여요. 특히 JSON, API, 사용자 정보, 설정값 등 다양한 분야에서 필수로 사용됩니다.
이번 강의는 지난 강의들보다 조금 더 길고 자세하게 구성했어요. 실습도 많고, 팁도 가득하니 집중해서 따라와 주세요!
🔎 딕셔너리란?
딕셔너리는 키(key)와 값(value)의 쌍으로 데이터를 저장하는 자료형입니다.
예시:
user = {
“이름”: “김코딩”,
“나이”: 28,
“직업”: “개발자”
}
여기서 “이름”, “나이”, “직업”이 키이고, 각각의 값은 그에 해당하는 데이터입니다. 딕셔너리는 중괄호 {}로 만들고, 각 항목은 :으로 키와 값을 구분하며, 항목끼리는 ,로 구분합니다.
📌 딕셔너리 특징
– 순서가 없음 (Python 3.7 이후부터는 입력 순서 유지되지만, 여전히 순서 접근은 비권장)
– 키는 고유해야 함 (중복 불가)
– 값은 어떤 자료형이든 가능 (숫자, 문자열, 리스트, 심지어 또 다른 딕셔너리까지!)
🛠 딕셔너리 기본 사용법
person = {
“이름”: “이파이”,
“나이”: 21,
“취미”: [“독서”, “게임”]
}
print(person[“이름”]) # 이파이
print(person[“취미”][0]) # 독서
키가 존재하지 않는 값을 꺼내면 에러가 납니다:
print(person[“주소”]) # KeyError 발생
이를 방지하려면 get() 함수를 쓰세요:
print(person.get(“주소”, “주소 정보 없음”))
✍️ 딕셔너리 수정, 추가, 삭제
person[“나이”] = 22
person[“주소”] = “서울시 강남구”
del person[“취미”]
in 연산자를 통해 키 존재 여부 확인 가능:
if “주소” in person:
print(“주소가 등록되어 있습니다”)
🔄 딕셔너리 반복문 활용
for key in person:
print(key, “:”, person[key])
for key, value in person.items():
print(f”{key}: {value}”)
print(person.keys()) # dict_keys([…])
print(person.values()) # dict_values([…])
📚 실전 예제 1 – 회원 정보 관리 프로그램
users = {}
while True:
name = input(“이름 입력 (종료:q): “)
if name == “q”:
break
age = input(“나이 입력: “)
users[name] = int(age)
print(“회원 목록:”)
for name, age in users.items():
print(f”{name}님의 나이: {age}세”)
🧠 실전 예제 2 – 단어장 만들기
vocab = {
“apple”: “사과”,
“banana”: “바나나”,
“python”: “파이썬 언어”
}
word = input(“뜻을 알고 싶은 영어 단어는?: “)
meaning = vocab.get(word, “등록되지 않은 단어입니다”)
print(meaning)
🔒 중첩 딕셔너리
students = {
“kim”: {“국어”: 90, “수학”: 85},
“lee”: {“국어”: 95, “수학”: 88}
}
print(students[“kim”][“국어”]) # 90
⚠️ 실전 팁 정리
– 딕셔너리는 키 중복이 안 됨. 항상 고유 키 사용하기
– 값으로 리스트, 딕셔너리, 숫자, 문자열 등 다양하게 활용 가능
– 반복문과 함께 쓰면 매우 강력함 (데이터 순회, 필터링 등)
– get() 으로 안전하게 값 접근 가능
– 중첩 구조도 가능, 다만 복잡해지니 구조 잘 설계하기
📌 오늘의 요약
– 딕셔너리는 키-값 쌍으로 데이터를 저장
– 실생활 정보 저장에 매우 적합 (회원 정보, 설정, 번역 등)
– get(), in, 반복문, 중첩 딕셔너리 활용법 숙지
📚 다음 강의 예고
9강: 함수(Function) – 코드를 재사용하는 똑똑한 방법
다음 시간엔 복잡한 프로그램을 깔끔하게 만들 수 있는 비밀 병기, 함수(Function)를 배워볼 거예요.
매번 반복되는 코드를 함수로 감싸서 효율적인 코드를 만드는 법, 꼭 배워야 할 부분입니다!
—
이 강의는 파이썬 완전 초보자를 위한 연재 시리즈입니다. 매주 새로운 강의로 업데이트됩니다.