파이썬 딕셔너리 자료형
파이썬에서 딕셔너리(Dictionary)는 키와 값의 쌍으로 데이터를 저장하는 매핑 자료형입니다. 딕셔너리는 중괄호 {}
를 사용하여 정의하며, 각 요소는 키(key)와 값(value)으로 구성됩니다. 예를 들면:
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
딕셔너리의 특징
1. 키와 값의 쌍으로 저장
딕셔너리는 각 요소가 키와 값의 쌍으로 저장되며, 키는 고유해야 합니다. 키는 변경할 수 없는 자료형(예: 문자열, 숫자, 튜플 등)이어야 하며, 값은 어떤 자료형이든 가능합니다.
person = {"name": "Bob", "age": 30, "job": "Developer"}
print(person["name"]) # 'Bob'
print(person["age"]) # 30
2. 딕셔너리 수정
딕셔너리는 가변적이므로, 요소를 추가, 수정, 삭제할 수 있습니다. 새로운 키-값 쌍을 추가하거나 기존 값을 수정할 수 있습니다.
my_dict = {"name": "Alice", "age": 25}
my_dict["city"] = "New York" # 새로운 키-값 쌍 추가
my_dict["age"] = 26 # 기존 값 수정
print(my_dict) # {'name': 'Alice', 'age': 26, 'city': 'New York'}
3. 딕셔너리 요소 삭제
딕셔너리에서 특정 요소를 삭제하려면 del
키워드를 사용하거나 pop()
메서드를 사용할 수 있습니다.
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
del my_dict["age"] # 'age' 키 삭제
print(my_dict) # {'name': 'Alice', 'city': 'New York'}
city = my_dict.pop("city") # 'city' 키 삭제하고 값 반환
print(city) # 'New York'
print(my_dict) # {'name': 'Alice'}
4. 딕셔너리 메서드
딕셔너리는 다양한 메서드를 제공하여 요소를 쉽게 조작할 수 있습니다:
dict.keys()
: 딕셔너리의 모든 키를 반환합니다.dict.values()
: 딕셔너리의 모든 값을 반환합니다.dict.items()
: 딕셔너리의 모든 키-값 쌍을 튜플 형태로 반환합니다.dict.get(key)
: 키에 대응하는 값을 반환하며, 키가 없으면None
을 반환합니다.dict.update(other_dict)
: 다른 딕셔너리의 요소를 추가하거나 업데이트합니다.
my_dict = {"name": "Alice", "age": 25}
print(my_dict.keys()) # dict_keys(['name', 'age'])
print(my_dict.values()) # dict_values(['Alice', 25])
print(my_dict.items()) # dict_items([('name', 'Alice'), ('age', 25)])
print(my_dict.get("city")) # None
my_dict.update({"city": "New York", "age": 26})
print(my_dict) # {'name': 'Alice', 'age': 26, 'city': 'New York'}
5. 딕셔너리 반복
딕셔너리는 반복문을 사용하여 키, 값, 또는 키-값 쌍을 순회할 수 있습니다.
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
# 키 반복
for key in my_dict:
print(key)
# 값 반복
for value in my_dict.values():
print(value)
# 키-값 쌍 반복
for key, value in my_dict.items():
print(f"{key}: {value}")
6. 중첩된 딕셔너리
딕셔너리는 다른 딕셔너리를 값으로 가질 수 있으며, 이를 중첩된 딕셔너리라고 합니다. 중첩된 딕셔너리는 복잡한 데이터를 구조화하는 데 유용합니다.
nested_dict = {
"person1": {"name": "Alice", "age": 25},
"person2": {"name": "Bob", "age": 30}
}
print(nested_dict["person1"]["name"]) # 'Alice'
print(nested_dict["person2"]["age"]) # 30
요약
- 딕셔너리는 키와 값의 쌍으로 데이터를 저장하는 매핑 자료형입니다.
- 딕셔너리는 가변적이며, 요소를 추가, 수정, 삭제할 수 있습니다.
keys()
,values()
,items()
와 같은 메서드를 사용하여 딕셔너리의 요소에 접근할 수 있습니다.- 딕셔너리는 반복문을 사용하여 키, 값, 또는 키-값 쌍을 순회할 수 있습니다.
- 중첩된 딕셔너리를 사용하여 복잡한 데이터를 구조화할 수 있습니다.
딕셔너리는 파이썬에서 매우 중요한 자료형 중 하나로, 데이터를 효율적으로 저장하고 조작하는 데 유용합니다. 딕셔너리의 다양한 기능을 활용하여 복잡한 데이터를 다뤄 보세요!