[Python] 자료형 - 딕셔너리
딕셔너리(Dictionary)는 키(key)와 값(value)의 쌍을 저장하는데 사용되는 자료형입니다. 중괄호 {}
를 사용하여 정의하며, 키와 값은 콜론 :
으로 구분합니다. 키는 유일하며, 변경 불가능한 데이터 타입이어야 합니다.
1. 딕셔너리 생성하기
딕셔너리는 중괄호 {}
안에 키-값 쌍을 콜론 :
으로 구분하여 생성합니다.
# 빈 딕셔너리 생성
empty_dict = {}
# 키-값 쌍을 가진 딕셔너리 생성
person = {"name": "Lee", "age": 25, "city": "Incheon"}
print(empty_dict) # 출력: {}
print(person) # 출력: {'name': 'Lee', 'age': 25, 'city': 'Incheon'}
2. 딕셔너리 쌍 추가하기, 딕셔너리 요소 삭제
딕셔너리 쌍 추가하기
person = {"name": "Lee", "age": 25}
person["city"] = "Incheon"
print(person) # 출력: {'name': 'Lee', 'age': 25, 'city': 'Incheon'}
딕셔너리 요소 삭제
person = {"name": "Lee", "age": 25, "city": "Incheon"}
del person["age"]
print(person) # 출력: {'name': 'Lee', 'city': 'Incheon'}
3. 딕셔너리에서 Key를 사용해 Value 얻기
person = {"name": "Lee", "age": 25, "city": "Incheon"}
name = person["name"]
print(name) # 출력: Lee
4. 딕셔너리 만들 때 주의할 사항
- 키는 유일해야 하며, 변경 불가능한 데이터 타입이어야 합니다. 예를 들어, 문자열, 숫자, 튜플을 키로 사용할 수 있습니다.
- 값은 어떤 데이터 타입도 가능합니다.
# 유효한 키
valid_dict = {
"name": "Lee",
1: [2, 4, 3],
(2, 3): "tuple as a key"
}
# 유효하지 않은 키 (리스트는 변경 가능하므로 키로 사용할 수 없습니다)
# invalid_dict = {[1, 2]: "list as a key"} # TypeError 발생
5. Key 리스트 만들기 - keys
person = {"name": "Lee", "age": 25, "city": "Incheon"}
keys = person.keys()
print(keys) # 출력: dict_keys(['name', 'age', 'city'])
6. Value 리스트 만들기 - values
person = {"name": "Lee", "age": 25, "city": "Incheon"}
values = person.values()
print(values) # 출력: dict_values(['Lee', 25, 'Incheon'])
7. Key, Value 쌍 얻기 - items
person = {"name": "Lee", "age": 25, "city": "Incheon"}
items = person.items()
print(items) # 출력: dict_items([('name', 'Lee'), ('age', 25), ('city', 'Incheon')])
8. Key: Value 쌍 모두 지우기 - clear
person = {"name": "Lee", "age": 25, "city": "Incheon"}
person.clear()
print(person) # 출력: {}
9. Key로 Value 얻기 - get
person = {"name": "Lee", "age": 25, "city": "Incheon"}
age = person.get("age")
print(age) # 출력: 25
# 존재하지 않는 키를 요청할 경우 None 반환
country = person.get("country")
print(country) # 출력: None
# 존재하지 않는 키를 요청할 경우 기본 값 반환
country = person.get("country", "South Korea")
print(country) # 출력: South Korea
10. 해당 Key가 딕셔너리 안에 있는지 조사하기 - in
person = {"name": "Lee", "age": 25, "city": "Incheon"}
print("name" in person) # 출력: True
print("country" in person) # 출력: False
Leave a comment