Programming/Python
[Python] 파이썬에서 사용되는 자료 구조(딕셔너리/사전)
MAKER'
2024. 4. 23. 17:02
이번 시간에는 파이썬에서 사용되는 자료 구조 형태에 대해 알아보도록 하겠습니다.
우선 자료 구조에 대해 간략하게 설명하면 여러 데이터를 효과적으로 다룰 수 있는 구조를 의미하며, 데이터가 여러 개일 경우에는 자료 구조를 사용하여 데이터를 관리하는 것이 좋습니다.
한마디로 자료 구조란 여러 데이터를 담을 수 있는 "장바구니"와 같다고 볼 수 있습니다.
이러한 자료 구조에는 여러 형태가 있는데 그중 파이썬에서 사용되는 자료 구조인 "딕셔너리/사전" 자료 구조에 대해 알아보도록 하겠습니다.
딕셔너리 (Dictionary)
Python 딕셔너리는 데이터를 Key-Value 쌍으로 저장하고 관리하는 자료 구조입니다.
Key를 통해 Value 값을 인덱싱할 수 있으며, 순서가 없고 수정은 가능한 형태입니다.
딕셔너리 생성
딕셔너리 형태의 자료 구조는 중괄호 '{ }' 를 사용하여 정의할 수 있으며, 각 항목은 'Key: Value' 형식의 쌍으로 구성됩니다.
# Creating a dictionary
favorite_fruits = {
"Alice": "Apple",
"Bob": "Banana",
"Carol": "Cherry"
}
딕셔너리 인덱스
딕셔너리의 경우 순서가 없기 때문에 이전에 리스트와 튜플에서의 인덱싱과 같이 정수를 입력함으로써 인덱싱할 수 없으며, Key를 통해 Value에 접근할 수 있습니다.
또한, 없는 Key를 통해 인덱싱을 수행할 경우 에러가 발생하게 되는데 이때 .get() 함수를 사용하면 Key가 없을 경우 None 값을 리턴해 에러를 발생시키지 않고 정상적으로 인덱싱을 수행할 수 있습니다.
# Accessing dictionary values
print(favorite_fruits["Alice"]) # Output: Apple
print(favorite_fruits.get("Eve")) # Output: None
딕셔너리 수정
딕셔너리는 튜플과 달리 변경이 가능합니다. 즉, 딕셔너리가 생성된 후 Key-Value 쌍을 추가, 변경 및 제거할 수 있습니다.
# Modifying a dictionary
favorite_fruits["Bob"] = "Blueberry" # 'Bob': 'Blueberry' 로 수정
favorite_fruits["Dave"] = "Durian" # favorite_fruits 딕셔너리에 'Dave': 'Durian' 을 추가
del favorite_fruits["Carol"] # 'Carol' Key-Value 쌍을 삭제
딕셔너리에서 사용되는 다양한 메소드
- 모든 키를 가져오는 메소드 : '.keys()'
- 모든 값을 가져오는 메소드 : '.values()'
- 모든 쌍을 가져오는 메소드 : '.items()'
- 두 개의 사전을 병합하는 메소드 : '.update()'
# Using dictionary methods
print(favorite_fruits.keys()) # Output: dict_keys(['Alice', 'Bob', 'Dave'])
print(favorite_fruits.values()) # Output: dict_values(['Apple', 'Blueberry', 'Durian'])
딕셔너리를 사용하여 사용자 설정을 관리하는 예시
# 사용자 설정 관리
user_settings = {
"theme": "dark", # 테마
"notifications": "enabled", # 알림
"language": "English" # 언어
}
# 설정 업데이트
user_settings.update({"language": "Spanish", "privacy": "high"}) # 언어를 스페인어로 업데이트하고 프라이버시를 높은 수준으로 설정
print(user_settings) # 설정 출력
# 출력 : {'theme': 'dark', 'notifications': 'enabled', 'language': 'Spanish', 'privacy': 'high'}