십대를 위한 코딩/십대를 위한 파이썬

파이썬 딕셔너리(Dictionary) 메서드 정리

forSilver 2025. 2. 18. 12:52
반응형

🔹 파이썬 딕셔너리(Dictionary) 메서드 정리

파이썬의 딕셔너리(dictionary)키(key)와 값(value)의 쌍을 저장하는 자료형으로, 다양한 내장 메서드를 제공합니다. 주요 메서드를 정리하면 다음과 같습니다.


🔹 1. dict.keys()

📌 딕셔너리의 모든 키(key) 반환

my_dict = {"name": "Alice", "age": 25, "city": "Seoul"}
print(my_dict.keys())  # dict_keys(['name', 'age', 'city'])

📌 리스트로 변환

keys_list = list(my_dict.keys())  
print(keys_list)  # ['name', 'age', 'city']

🔹 2. dict.values()

📌 딕셔너리의 모든 값(value) 반환

print(my_dict.values())  # dict_values(['Alice', 25, 'Seoul'])

📌 리스트로 변환

values_list = list(my_dict.values())  
print(values_list)  # ['Alice', 25, 'Seoul']

 


🔹 3. dict.items()

📌 (키, 값) 쌍을 튜플 형태로 반환

print(my_dict.items())  
# dict_items([('name', 'Alice'), ('age', 25), ('city', 'Seoul')])

📌 리스트로 변환

items_list = list(my_dict.items())  
print(items_list)  
# [('name', 'Alice'), ('age', 25), ('city', 'Seoul')]

🔹 4. dict.get(key, default)

📌 키에 해당하는 값을 반환 (없으면 기본값 반환)

print(my_dict.get("name"))  # Alice
print(my_dict.get("job", "Not Found"))  # Not Found

💡 my_dict["job"]처럼 직접 접근하면 키가 없을 경우 KeyError 발생!


🔹 5. dict.update(dict2)

📌 기존 딕셔너리에 다른 딕셔너리 내용 추가 또는 갱신

my_dict.update({"age": 30, "job": "Developer"})
print(my_dict)  
# {'name': 'Alice', 'age': 30, 'city': 'Seoul', 'job': 'Developer'}

🔹 6. dict.pop(key, default)

📌 특정 키를 제거하고 값을 반환 (없으면 기본값 반환)

age = my_dict.pop("age")
print(age)  # 30
print(my_dict)  # {'name': 'Alice', 'city': 'Seoul', 'job': 'Developer'}

📌 키가 없으면 기본값 반환

print(my_dict.pop("salary", "Not Found"))  # Not Found

🔹 7. dict.popitem()

📌 마지막 키-값 쌍을 제거하고 반환 (파이썬 3.7부터는 삽입 순서대로 동작)

item = my_dict.popitem()
print(item)  # ('job', 'Developer')
print(my_dict)  # {'name': 'Alice', 'city': 'Seoul'}

💡 비어있는 딕셔너리에서 사용하면 KeyError 발생


🔹 8. dict.setdefault(key, default)

📌 특정 키가 없으면 추가하고 기본값 설정

my_dict.setdefault("gender", "Female")
print(my_dict)  
# {'name': 'Alice', 'city': 'Seoul', 'gender': 'Female'}

💡 키가 이미 존재하면 기존 값을 반환하고 변경하지 않음

print(my_dict.setdefault("name", "Bob"))  # Alice

🔹 9. dict.clear()

📌 모든 요소 삭제

my_dict.clear()
print(my_dict)  # {}

🔹 10. dict.copy()

📌 딕셔너리 복사 (얕은 복사)

original = {"a": 1, "b": 2}
copy_dict = original.copy()
print(copy_dict)  # {'a': 1, 'b': 2}

🔹 11. dict.fromkeys(iterable, value)

📌 리스트 등의 요소를 키로 하고 동일한 값을 가진 딕셔너리 생성

keys = ["a", "b", "c"]
new_dict = dict.fromkeys(keys, 0)
print(new_dict)  # {'a': 0, 'b': 0, 'c': 0}

🔹 딕셔너리 메서드 요약

메서드 설명

keys() 모든 키 반환
values() 모든 값 반환
items() (키, 값) 쌍 반환
get(key, default) 키에 해당하는 값 반환 (없으면 기본값)
update(dict2) 다른 딕셔너리와 병합 및 값 변경
pop(key, default) 특정 키 삭제 후 값 반환
popitem() 마지막 (키, 값) 쌍 삭제 후 반환
setdefault(key, default) 키가 없으면 추가하고 기본값 설정
clear() 모든 요소 삭제
copy() 딕셔너리 복사 (얕은 복사)
fromkeys(iterable, value) 키 목록으로 새로운 딕셔너리 생성

 

딕셔너리는 빠른 데이터 조회와 수정이 가능하여 다양한 프로그래밍에서 유용하게 활용됩니다. 😊