파이썬 딕셔너리 활용법 완벽 정리
파이썬에서 데이터를 효율적으로 관리하려면 딕셔너리(Dictionary) 를 제대로 활용해야 합니다.
딕셔너리는 키(key)와 값(value) 쌍으로 이루어져 있으며, 빠른 데이터 검색과 관리가 가능합니다.
이번 글에서는 딕셔너리 기본 개념부터 실전 활용법까지 상세히 알아보겠습니다.
딕셔너리 기본 개념
딕셔너리는 {key: value} 형태로 데이터를 저장하는 자료구조입니다.
리스트와 달리, 인덱스 대신 키를 사용하여 값을 조회할 수 있습니다.
# 딕셔너리 생성 예제
student = {
"이름": "김철수",
"나이": 20,
"전공": "컴퓨터공학"
}
print(student["이름"]) # 김철수
키를 사용하면 리스트보다 빠르게 데이터를 찾을 수 있습니다.
## 딕셔너리 생성 및 요소 추가
딕셔너리는 여러 가지 방법으로 생성할 수 있습니다.
```python
# 기본적인 생성 방법
dict1 = {"사과": 1000, "바나나": 2000}
# dict() 생성자 사용
dict2 = dict(오렌지=1500, 포도=3000)
# 빈 딕셔너리 생성 후 요소 추가
dict3 = {}
dict3["키보드"] = 50000
dict3["마우스"] = 30000
주의할 점: 키는 유일해야 하며, 값은 다양한 자료형(숫자, 문자열, 리스트, 튜플 등)을 가질 수 있습니다.
딕셔너리 수정 및 삭제
딕셔너리 값을 변경하거나 요소를 삭제하는 방법도 매우 쉽습니다.
# 값 변경
student["전공"] = "데이터과학"
# 요소 삭제
del student["나이"]
print(student) # {'이름': '김철수', '전공': '데이터과학'}
삭제할 때는 del을 사용하거나 pop()을 활용할 수도 있습니다.
# pop()을 사용하면 삭제한 값을 반환받을 수 있음
age = student.pop("나이", "없음") # 나이가 없으면 기본값 "없음" 반환
딕셔너리 반복문 활용
딕셔너리는 for 루프를 활용해 쉽고 빠르게 데이터를 처리할 수 있습니다.
# 키(key)만 가져오기
for key in student.keys():
print(key)
# 값(value)만 가져오기
for value in student.values():
print(value)
# 키와 값을 함께 가져오기
for key, value in student.items():
print(f"{key}: {value}")
items() 메서드를 사용하면 키와 값을 한꺼번에 가져올 수 있어서 편리합니다.
딕셔너리 내장 함수 활용
딕셔너리는 다양한 내장 함수를 제공하여 유용하게 사용할 수 있습니다.
# 딕셔너리 길이 확인
print(len(student)) # 요소 개수 반환
# 특정 키가 존재하는지 확인
print("이름" in student) # True
# get()을 활용한 안전한 값 조회
print(student.get("나이", "없음")) # 키가 없으면 기본값 반환
get()을 사용하면 예외 없이 키를 조회할 수 있어서 더욱 안전합니다.
실전 예제: JSON 데이터 다루기
딕셔너리는 JSON 데이터를 처리할 때 자주 사용됩니다.
import json
# JSON 문자열을 딕셔너리로 변환
json_str = '{"name": "Alice", "age": 25, "city": "Seoul"}'
data = json.loads(json_str)
print(data["name"]) # Alice
# 딕셔너리를 JSON 문자열로 변환
json_output = json.dumps(data, ensure_ascii=False)
print(json_output) # {"name": "Alice", "age": 25, "city": "Seoul"}
json.loads()와 json.dumps()를 활용하면 쉽게 JSON 데이터를 처리할 수 있습니다.
딕셔너리 활용 팁 & 주의사항
- 키 값은 변경할 수 없습니다! (하지만 값은 변경 가능)
- 키 중복을 피해야 합니다! (중복 키가 있을 경우, 마지막 값만 저장됨)
- 리스트와 함께 사용하면 더욱 강력합니다!
students = [ {"이름": "김철수", "점수": 90}, {"이름": "이영희", "점수": 85} ]
이제 여러분도 딕셔너리를 활용한 데이터 관리를 쉽게 할 수 있을 것입니다.
FAQ
1. 딕셔너리에서 키를 기준으로 정렬할 수 있나요?
네! sorted()
와 keys()
를 활용하면 정렬이 가능합니다.
sorted_dict = dict(sorted(student.items()))
2. 딕셔너리에 키가 없을 때 기본값을 설정할 수 있나요?
get()
메서드를 활용하면 기본값을 설정할 수 있습니다.
print(student.get("주소", "정보 없음")) # "정보 없음"
3. 리스트와 딕셔너리를 함께 사용할 수 있나요?
네! JSON 데이터처럼 리스트 안에 딕셔너리를 넣어 사용할 수 있습니다.
4. 딕셔너리의 메모리 사용량을 줄이는 방법은?
많은 데이터를 다룰 경우, collections.OrderedDict()
를 활용하면 최적화할 수 있습니다.
5. 딕셔너리를 복사할 때 주의할 점은?
copy()
를 사용하면 얕은 복사가 이루어지므로, 중첩된 구조에서는 deepcopy()
를 사용해야 합니다.
'파이썬 (Python)' 카테고리의 다른 글
파이썬 리스트 한방 정리! 실용적인 활용법 총정리 (1) | 2025.02.03 |
---|---|
파이썬 함수 정의와 활용법: 코드 효율을 높이는 마법 (3) | 2025.02.02 |
파이썬 반복문 쉽게 배우기! 초보자도 금방 이해하는 방법 (1) | 2025.02.01 |
파이썬 함수 정의부터 고급 활용까지: 초보자를 위한 체계적인 학습 가이드 (1) | 2025.01.31 |
파이썬 반복문 기초부터 활용까지: 초보자를 위한 가이드 (1) | 2025.01.31 |