딕셔너리는 파이썬의 자료구조 중 하나로, 키와 값의 쌍으로 이루어진 데이터를 저장할 수 있는 가변적인 배열입니다. 다른 언어에서는 해시맵(HashMap)이나 연관 배열(Associative Array)로 불리기도 합니다. 딕셔너리는 중괄호 {}로 묶여 있으며, 각 키와 값은 콜론 :으로 구분됩니다.
예를 들어, 학생들의 이름과 점수를 저장하려면 다음과 같이 사용할 수 있습니다.
students_scores = {
"Alice": 85,
"Bob": 92,
"Charlie": 78
}
이 예시에서 "Alice", "Bob", "Charlie"는 키(key)이고, 각각의 점수인 85, 92, 78이 값(value)입니다.
딕셔너리는 특정 값을 빠르게 검색하거나 수정할 수 있다는 점에서 매우 유용합니다. 리스트나 튜플과 같은 다른 자료구조에 비해, 딕셔너리는 키를 통해 값에 접근할 수 있기 때문에 더 효율적입니다.
예를 들어, 학생의 이름을 키로, 점수를 값으로 저장하면, 특정 학생의 점수를 검색하는 작업이 매우 간편해집니다.
# 학생 Bob의 점수 검색
print(students_scores["Bob"]) # 출력: 92
이와 같이 딕셔너리를 사용하면 원하는 값을 빠르게 검색할 수 있습니다.
딕셔너리의 기본적인 사용법을 알아보겠습니다. 딕셔너리를 생성하고, 값을 추가하고, 값을 수정하고, 값을 삭제하는 방법을 살펴보겠습니다.
# 빈 딕셔너리 생성
empty_dict = {}
# 초기 값을 가진 딕셔너리 생성
person = {
"name": "John",
"age": 30,
"city": "New York"
}
딕셔너리에 새로운 키-값 쌍을 추가하거나 기존 값을 수정할 수 있습니다.
# 값 추가
person["email"] = "john@example.com"
# 값 수정
person["age"] = 31
딕셔너리에서 특정 키-값 쌍을 삭제할 수 있습니다.
# 특정 키-값 쌍 삭제
del person["city"]
# 모든 키-값 쌍 삭제
person.clear()
다양한 상황에서 딕셔너리를 어떻게 사용할 수 있는지 예시를 통해 알아보겠습니다.
딕셔너리를 사용하여 전화번호부를 만들 수 있습니다.
phone_book = {
"Alice": "123-456-7890",
"Bob": "987-654-3210",
"Charlie": "555-555-5555"
}
# Charlie의 전화번호 검색
print(phone_book["Charlie"]) # 출력: 555-555-5555
학생들의 과목별 점수를 저장하는 딕셔너리 예시입니다.
student_grades = {
"Alice": {"Math": 90, "Science": 85},
"Bob": {"Math": 78, "Science": 82}
}
# Alice의 수학 점수 검색
print(student_grades["Alice"]["Math"]) # 출력: 90
딕셔너리를 사용할 때 주의해야 할 몇 가지 사항이 있습니다.
딕셔너리의 키는 고유해야 하며, 동일한 키를 두 번 사용하면 마지막 값만 저장됩니다.
example = {
"key1": "value1",
"key1": "value2"
}
print(example["key1"]) # 출력: value2
딕셔너리의 키는 리스트와 같은 변경 가능한(mutable) 타입이 될 수 없습니다. 일반적으로 문자열, 숫자, 튜플과 같은 변경 불가능한(immutable) 타입이 사용됩니다.
# 올바른 예시
valid_dict = {
"name": "Alice",
1: "one",
(2, 3): "tuple"
}
# 잘못된 예시
invalid_dict = {
["list"]: "value" # 오류 발생
}
이러한 주의사항을 염두에 두고 딕셔너리를 사용하면, 보다 효율적이고 오류 없이 데이터를 관리할 수 있습니다.