파이썬 하루 하나씩 배우기: 딕셔너리(Dictionary) 기초 사용법
딕셔너리는 파이썬에서 데이터를 효율적으로 관리하고 검색하는 데 필수적인 자료형입니다. 이 글은 딕셔너리의 기본 개념부터 활용 방법까지 완전히 이해하기 위한 가이드입니다.
1. 딕셔너리란 무엇인가?
딕셔너리는 Key: Value 쌍으로 데이터를 저장하는 자료형입니다. 리스트나 튜플처럼 순서가 아닌, 특정 키를 통해 값을 접근할 수 있어 검색 속도가 매우 빠릅니다.
예를 들어, 학생의 이름과 점수를 매칭하려면 리스트보다 딕셔너리를 사용하는 것이 훨씬 직관적입니다. 이건 그냥 문법이 아니라, 사고방식의 차이입니다.
팩트 베기 문장: “딕셔너리는 데이터를 저장하는 것이 아니라, 데이터를 ‘바로 찾게’ 해준다.”
2. 딕셔너리 생성 방법
딕셔너리는 중괄호({}
)를 사용하거나 dict()
함수를 통해 만들 수 있습니다. 대표적인 방식은 아래와 같습니다.
방법 | 예시 코드 |
---|---|
중괄호 방식 | {"name": "Alice", "age": 25} |
dict 함수 | dict(name="Alice", age=25) |
대괄호([]
)로 접근하는 방식은 리스트와 같지만, 순서가 아닌 키를 기준으로 값을 찾습니다.
그 차이는 작은 프로젝트에선 모르지만, 데이터가 커질수록 체감됩니다.
3. 딕셔너리에서 값 접근하기
딕셔너리에서 값을 꺼내는 방법은 두 가지입니다. 하나는 대괄호([]
), 다른 하나는 get()
메서드입니다. 각각의 차이는 오류 처리 방식에서 드러납니다.
-
dict['key']
: 해당 key가 없으면 KeyError 발생 -
dict.get('key')
: key가 없으면 None 반환
이 차이는 실전 코딩에서 매우 중요합니다. 특히 외부 입력을 처리할 때, 예외 처리를 위한 get()
의 사용은 필수적입니다.
팩트 베기 문장: “코드는 잘 짜는 게 아니라, 잘 ‘망가지지 않게’ 짜는 거다.”
4. 딕셔너리 수정 및 항목 추가
딕셔너리는 동적으로 키와 값을 추가하거나 기존 값을 쉽게 수정할 수 있습니다. 마치 ‘가변적인 JSON’처럼 유연하죠.
예시로 다음 코드를 보세요:
student = {'name': 'Alex', 'grade': 'A'}
student['age'] = 23 # 항목 추가
student['grade'] = 'A+' # 값 수정
항목 삭제도 가능합니다. del dict['key']
또는 pop()
을 사용하죠. 삭제와 수정을 구분짓는 것이 이 자료형을 ‘파괴 없이 변화 가능한’ 무기로 만들어줍니다.
5. 자주 쓰이는 딕셔너리 메서드
딕셔너리는 다양한 메서드를 제공하며, 그중 몇 개만 알아도 코드 퀄리티가 확 달라집니다. 아래 표에서 대표 메서드를 정리했습니다.
메서드 | 설명 |
---|---|
.keys() | 모든 키 리스트 반환 |
.values() | 모든 값 리스트 반환 |
.items() | (key, value) 쌍 리스트 반환 |
.get(key, default) | 키가 없을 때 디폴트 값 반환 |
메서드를 몰라도 코딩은 되지만, 메서드를 아는 사람과는 생산성이 다릅니다. 우리는 ‘할 줄 아는’ 단계를 넘어 ‘잘 쓰는’ 단계로 가야 합니다.
6. 딕셔너리 컴프리헨션 사용법
딕셔너리 컴프리헨션은 반복문을 사용하여 새로운 딕셔너리를 한 줄에 만들어내는 방법입니다. 파이썬 개발자의 ‘숨은 필살기’ 같은 존재죠.
-
{x: x**2 for x in range(5)}
→{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
- 조건문 추가 가능:
{x: x for x in range(5) if x % 2 == 0}
복잡해 보여도 익숙해지면 강력한 도구입니다. 코드 길이를 줄이고, 가독성과 효율성 모두를 잡을 수 있어요.
팩트 베기 문장: “파이썬스럽다는 건, 짧고 명확하면서도 예술적이라는 뜻이다.”
딕셔너리를 배우고 나서, 내가 진짜 파이썬을 이해하기 시작했다
“딕셔너리를 처음 이해했을 때, 마치 모든 게 제자리를 찾는 느낌이었다.”
✔ 처음엔 리스트만 써도 되겠지 했는데, JSON 형태의 데이터를 다루기 시작하자마자 딕셔너리가 없으면 뭘 할 수가 없더라고요.
✔ 특히 `.get()` 메서드는 외부 API 데이터 받을 때 진짜 신의 한 수예요. 오류 안 나고 깔끔하게 처리되니까 마음이 놓여요.
✔ 컴프리헨션을 쓸 줄 알게 된 날, 코드를 리팩토링하면서 ‘내가 이젠 조금은 개발자 같다’는 느낌이 들었어요.
이 글을 보시는 분들께 팁을 하나 드리자면, 딕셔너리를 단순한 자료형으로 보지 말고 ‘구조화된 사고’를 위한 도구라고 생각해보세요.
어디에 무엇을 저장할지 스스로 설계하고 구성하는 연습이 되어야, 나중에 복잡한 데이터베이스나 API도 어렵지 않게 다룰 수 있거든요.
팩트 베기 문장: “파이썬의 진짜 시작은 print가 아니라 dict다.”
'key' in dict
구문을 사용하면 됩니다. 예: 'name' in student
→ True/False 반환for key in dict:
또는 for key, value in dict.items():
를 활용해 반복할 수 있습니다.get()
메서드를 사용하면 됩니다. 키가 없을 경우 오류 대신 None 또는 기본값을 반환하므로 실전에서 많이 씁니다.
📎 참고 자료:
딕셔너리를 이해하는 순간, 파이썬은 단순한 코드가 아닌 ‘생각하는 도구’가 됩니다. 우리는 데이터를 순서대로가 아니라, ‘의미’에 따라 저장하고 꺼낼 수 있죠.
그게 딕셔너리의 마법입니다.
오늘 배운 내용, 꼭 한 번 타이핑해보면서 몸으로 익혀보세요. 배우는 건 기억보다 손이 먼저니까요.
여러분은 어떤 식으로 딕셔너리를 활용하고 계신가요?
댓글로 서로의 아이디어를 공유해보면 더 빠르고 재미있게 성장할 수 있을 거예요!
HANSORI.AI_Blog Labs에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.