맵(Map) 자료구조 완벽 가이드
맵이란?
맵(Map)은 키(key)와 값(value)을 한 쌍으로 하여 이루어진 데이터를 저장하는 자료구조이다. 마치 사전에서 단어(key)를 찾으면 뜻(value)이 나오는 것처럼, 맵에서도 키를 통해 값을 찾을 수 있다. 이러한 특징 때문에 맵은 파이썬에서 딕셔너리(dictionary)라고 불린다.
- 'map'는 좀 더 general한 개념이고, 'dictionary'는 파이썬에서 불리는 map의 이름
맵의 특징
- 고유한 key : 맵 안에는 같은 key를 가진 데이터가 여러 개 존재할 수 없다.
- 다양한 자료형 사용 가능 : key와 value은 숫자, 문자열, 객체 등 다양한 자료형을 가질 수 있다.
- 검색, 삽입, 삭제가 빠름: 맵은 효율적인 검색 알고리즘을 사용하여 데이터를 빠르게 찾고, 추가하거나 삭제할 수 있다.
파이썬에서 맵 사용하기: 딕셔너리(dict)
파이썬에서는 맵을 구현하기 위해 dict
라는 자료형을 제공한다. 딕셔너리는 중괄호 {}
를 사용하여 생성하며, 키와 값은 콜론 :
으로 구분한다.
Python
# 딕셔너리 생성
student_scores = {"Alice": 95, "Bob": 88, "Charlie": 76}
# 값 가져오기
print(student_scores["Alice"]) # 출력: 95
# 값 변경하기
student_scores["Bob"] = 92
# 값 추가하기
student_scores["David"] = 85
# 값 삭제하기
del student_scores["Charlie"]
print(student_scores)
# 출력: {'Alice': 95, 'Bob': 92, 'David': 85}
위 코드에서 student_scores
라는 딕셔너리를 생성하고, 학생 이름(key)과 점수(value)를 저장하였다. 그리고 각각 값을 가져오고, 변경하고, 추가하고, 삭제하는 예제를 보여준다.
구체적인 활용 |
맵의 활용
맵은 데이터를 key-value를 쌍으로 저장하고 빠르게 검색해야 하는 다양한 상황에서 유용하게 사용된다.
- 데이터베이스: 데이터베이스에서 데이터를 조회할 때, 특정 조건(key)에 맞는 데이터(value)를 빠르게 찾을 수 있다.
- 캐시: 자주 사용되는 데이터를 캐시에 저장하여, 다음번에 같은 데이터를 요청할 때 빠르게 응답할 수 있다.
- 환경 설정: 프로그램의 설정 값을 key-value 쌍으로 저장하여, 필요할 때 설정 값을 쉽게 변경하고 관리할 수 있다.
마무리
이번 포스팅에서는 맵 자료구조의 개념과 파이썬에서 맵을 구현하는 딕셔너리에 대해 알아보았다. 맵은 데이터를 효율적으로 관리하고 검색하는 데 유용한 자료구조이므로, 향후 개발 프로젝트에서 자주 활용하게 될 것 같다.
[자료구조] 왜 자료구조를 배우는가?
(https://hyeonb.blogspot.com/2024/03/blog-post.html)
(https://hyeonb.blogspot.com/2024/03/blog-post.html)
[자료구조] mutable vs immutable in Python
(https://hyeonb.blogspot.com/2024/03/mutable-vs-immutable-in-python.html)
(https://hyeonb.blogspot.com/2024/03/mutable-vs-immutable-in-python.html)