딕셔너리 자료형
딕셔너리란?
딕셔너리는 키와 값의 쌍으로 데이터를 저장하는 자료형입니다. 키를 사용하여 값에 빠르게 접근할 수 있습니다. 딕셔너리는 `{}`를 사용하여 생성합니다.
딕셔너리는 어떻게 만들까?
딕셔너리는 중괄호 `{}`를 사용하여 키-값 쌍을 정의합니다. 각 키-값 쌍은 콜론 `:`으로 구분되고, 쌍들은 쉼표 `,`로 구분됩니다.
예제 1
# 빈 딕셔너리 생성
empty_dict = {}
print(empty_dict) # {}
# 값이 있는 딕셔너리 생성
person = {"name": "John", "age": 30, "city": "New York"}
print(person) # {"name": "John", "age": 30, "city": "New York"}
예제 2
# 키-값 쌍 추가하여 딕셔너리 생성
student = {"id": 101, "name": "Alice", "grades": [85, 92, 78]}
print(student) # {"id": 101, "name": "Alice", "grades": [85, 92, 78]}
딕셔너리 쌍 추가, 삭제하기
딕셔너리 쌍 추가하기
딕셔너리에 새로운 키-값 쌍을 추가하려면 새로운 키를 사용하여 값을 할당하면 됩니다.
예제 1
person = {"name": "John", "age": 30}
person["city"] = "New York"
print(person) # {"name": "John", "age": 30, "city": "New York"}
예제 2
student = {"id": 101, "name": "Alice"}
student["grades"] = [85, 92, 78]
print(student) # {"id": 101, "name": "Alice", "grades": [85, 92, 78]}
딕셔너리 쌍 삭제하기
딕셔너리에서 키-값 쌍을 삭제하려면 `del` 키워드를 사용합니다.
예제 1
person = {"name": "John", "age": 30, "city": "New York"}
del person["age"]
print(person) # {"name": "John", "city": "New York"}
예제 2
student = {"id": 101, "name": "Alice", "grades": [85, 92, 78]}
del student["grades"]
print(student) # {"id": 101, "name": "Alice"}
딕셔너리를 사용하는 방법
값 접근하기
딕셔너리에서 값을 가져오려면 키를 사용합니다.
예제 1
person = {"name": "John", "age": 30, "city": "New York"}
name = person["name"]
print(name) # John
예제 2
student = {"id": 101, "name": "Alice", "grades": [85, 92, 78]}
grades = student["grades"]
print(grades) # [85, 92, 78]
값 변경하기
딕셔너리의 값을 변경하려면 기존 키에 새로운 값을 할당합니다.
예제 1
person = {"name": "John", "age": 30, "city": "New York"}
person["age"] = 31
print(person) # {"name": "John", "age": 31, "city": "New York"}
예제 2
student = {"id": 101, "name": "Alice", "grades": [85, 92, 78]}
student["name"] = "Bob"
print(student) # {"id": 101, "name": "Bob", "grades": [85, 92, 78]}
딕셔너리 관련 함수
`keys()`: 딕셔너리의 모든 키를 반환합니다.
person = {"name": "John", "age": 30, "city": "New York"}
keys = person.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
`values()`: 딕셔너리의 모든 값을 반환합니다.
person = {"name": "John", "age": 30, "city": "New York"}
values = person.values()
print(values) # dict_values(['John', 30, 'New York'])
`items()`: 딕셔너리의 모든 키-값 쌍을 튜플로 반환합니다.
person = {"name": "John", "age": 30, "city": "New York"}
items = person.items()
print(items) # dict_items([('name', 'John'), ('age', 30), ('city', 'New York')])
`get()`: 키를 사용하여 값을 가져오며, 키가 없을 경우 기본값을 반환합니다.
person = {"name": "John", "age": 30, "city": "New York"}
age = person.get("age", "Unknown")
print(age) # 30
country = person.get("country", "Unknown")
print(country) # Unknown
`update()`: 다른 딕셔너리의 키-값 쌍을 사용하여 딕셔너리를 업데이트합니다.
person = {"name": "John", "age": 30}
additional_info = {"city": "New York", "job": "Developer"}
person.update(additional_info)
print(person) # {"name": "John", "age": 30, "city": "New York", "job": "Developer"}
`pop(): 특정 키를 사용하여 값을 가져오고, 해당 키-값 쌍을 딕셔너리에서 제거합니다.
person = {"name": "John", "age": 30, "city": "New York"}
age = person.pop("age")
print(age) # 30
print(person) # {"name": "John", "city": "New York"}
`popitem(): 딕셔너리의 마지막 키-값 쌍을 제거하고 반환합니다.
person = {"name": "John", "age": 30, "city": "New York"}
last_item = person.popitem()
print(last_item) # ('city', 'New York')
print(person) # {"name": "John", "age": 30}
`clear(): 딕셔너리의 모든 키-값 쌍을 제거합니다.
person = {"name": "John", "age": 30, "city": "New York"}
person.clear()
print(person) # {}
`copy(): 딕셔너리의 얕은 복사본을 반환합니다.
person = {"name": "John", "age": 30, "city": "New York"}
person_copy = person.copy()
print(person_copy) # {"name": "John", "age": 30, "city": "New York"}
`fromkeys(): 제공된 키들로 딕셔너리를 생성하고, 모든 키의 값을 동일하게 설정합니다.
keys = ["name", "age", "city"]
default_value = "Unknown"
new_dict = dict.fromkeys(keys, default_value)
print(new_dict) # {"name": "Unknown", "age": "Unknown", "city": "Unknown"}
이와 같이 딕셔너리의 정의, 생성 방법, 요소 추가 및 삭제, 사용 방법, 관련 함수 등을 설명했습니다. 각 항목에 대한 예시를 통해 딕셔너리를 효과적으로 다룰 수 있을 것입니다.
'파이썬로드' 카테고리의 다른 글
파이썬 독학, 집합자료형 (0) | 2024.07.02 |
---|---|
파이썬 리스트 자료형, 튜플 자료형, 튜플은 어떻게 만들까? (0) | 2024.07.01 |
파이썬 리스트 자료형, 리스트 관련 함수 append, sort, reverse, index, insert, remove, pop, count, extend (0) | 2024.06.23 |
파이썬 리스트 자료형, 리스트의 수정과 삭제 (0) | 2024.06.23 |
파이썬 리스트 자료형, 리스트 연산하기 (0) | 2024.06.23 |