딕셔너리(Dictionary): 키와 값으로 연결된 데이터 사전
딕셔너리(Dictionary): 키와 값으로 연결된 데이터 사전
이름표(Key)를 붙여 데이터를 효율적으로 찾아보세요!
안녕하세요! 9일차까지 우리는 리스트, 튜플, 집합을 배웠습니다. 이들은 모두 '값'들의 모임이었죠. 하지만 데이터가 많아지면 "세 번째 데이터가 뭐였지?"라고 인덱스를 기억하기 힘들어집니다.
오늘 배울 딕셔너리(Dictionary)는 인덱스 대신 내가 직접 정한 '이름표(Key)'를 이용해 값을 바로 찾아낼 수 있는 아주 똑똑한 자료구조입니다.
1. 딕셔너리란? {Key : Value}
실제 사전에서 'Apple'이라는 단어를 찾으면 그 뜻이 나오듯, 파이썬 딕셔너리도 Key(키)를 통해 Value(값)를 얻습니다.
1.
{ } 중괄호를 사용합니다.2.
키 : 값 형태로 데이터를 저장하며, 쉼표로 구분합니다.3. 키(Key)는 중복될 수 없습니다. (이름표는 유일해야 하니까요!)
# 딕셔너리 만들기
user = {
"name": "홍길동",
"age": 25,
"email": "hong@example.com",
"is_admin": False
}
# 데이터 접근하기
print(user["name"]) # 결과: 홍길동
2. 내 마음대로 데이터 조작하기
딕셔너리는 리스트처럼 내용을 자유롭게 바꿀 수 있습니다.
# 데이터 추가 및 수정 user["hobby"] = "코딩" # 새로운 키-값 추가 user["age"] = 26 # 기존 값 수정 # 데이터 삭제 del user["is_admin"] print(user)
3. 딕셔너리 전용 필수 명령어
딕셔너리에서 키만 뽑거나, 값만 뽑거나, 혹은 둘 다 한꺼번에 관리해야 할 때 사용합니다.
info = {"brand": "Apple", "model": "iPhone 15", "year": 2023}
print(info.keys()) # 키들만 모아서 보기
print(info.values()) # 값들만 모아서 보기
print(info.items()) # (키, 값) 쌍으로 묶어서 보기
💡 10일차 궁금증 해결 (Q&A)
Q1. 없는 키를 호출하면 에러가 나는데, 안전하게 가져오는 법이 있나요?
A1. 아주 좋은 질문입니다! user["phone"]처럼 직접 부르면 에러가 나지만, user.get("phone") 함수를 쓰면 키가 없어도 에러 대신 None을 돌려줍니다. 기본값을 설정할 수도 있어요! (예: user.get("phone", "번호 없음"))
Q2. 리스트를 키(Key)로 사용할 수 있나요?
A2. 아니요, 불가능합니다! 딕셔너리의 키는 변하지 않는(Immutable) 값이어야 합니다. 따라서 리스트는 안 되지만, 9일차에 배운 튜플은 키로 사용할 수 있습니다.
Q3. 딕셔너리도 순서가 있나요?
A3. 파이썬 3.7 버전부터는 딕셔너리에 데이터를 넣은 순서가 유지됩니다. 하지만 딕셔너리의 본질은 순서보다 '키-값의 연결'이므로, 순서가 중요한 작업은 리스트를 사용하는 것이 좋습니다.
오늘의 미션 🚩
"나만의 전화번호부 만들기"
1. 3명의 이름과 전화번호가 담긴 딕셔너리를 만드세요.
2. 새로운 친구의 번호를 하나 추가해보세요.
3. get() 함수를 사용해 전화번호부에 없는 이름을 검색했을 때 "찾을 수 없음"이 나오게 해보세요!


댓글
댓글 쓰기