딕셔너리(Dictionary) 기초 사용법

Thank you for reading this post, don't forget to subscribe!

파이썬 하루 하나씩 배우기: 딕셔너리(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)를 통해 값을 검색하고, 리스트는 인덱스(index)를 통해 접근합니다. 즉, 딕셔너리는 순서보다 ‘이름’이 중요한 데이터에 적합하죠.
딕셔너리에서 키가 존재하는지 확인하려면 어떻게 하나요?
'key' in dict 구문을 사용하면 됩니다. 예: 'name' in student → True/False 반환
딕셔너리를 for문으로 반복할 수 있나요?
네. for key in dict: 또는 for key, value in dict.items():를 활용해 반복할 수 있습니다.
딕셔너리의 값을 안전하게 가져오는 방법은?
get() 메서드를 사용하면 됩니다. 키가 없을 경우 오류 대신 None 또는 기본값을 반환하므로 실전에서 많이 씁니다.
딕셔너리 컴프리헨션은 언제 쓰나요?
대량의 데이터를 빠르게 가공할 때 유용합니다. 특히 반복문과 조건을 한 줄에 표현하고 싶을 때 가독성과 효율을 동시에 잡을 수 있죠.


파이썬 로고


딕셔너리 메서드 사용 예시

📎 참고 자료:

딕셔너리를 이해하는 순간, 파이썬은 단순한 코드가 아닌 ‘생각하는 도구’가 됩니다. 우리는 데이터를 순서대로가 아니라, ‘의미’에 따라 저장하고 꺼낼 수 있죠.
그게 딕셔너리의 마법입니다.
오늘 배운 내용, 꼭 한 번 타이핑해보면서 몸으로 익혀보세요. 배우는 건 기억보다 손이 먼저니까요.

여러분은 어떤 식으로 딕셔너리를 활용하고 계신가요?
댓글로 서로의 아이디어를 공유해보면 더 빠르고 재미있게 성장할 수 있을 거예요!

이 글이 어땠는지 평가해 주세요!

★ ★ ★ ★ ★

HANSORI.AI_Blog Labs에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.