본문 바로가기
프로그래밍언어/파이썬[초급]

[파이썬][초급] Chapter33. 딕셔너리 활용 심화

by about_IT 2025. 5. 16.
728x90

딕셔너리는 키와 값을 한 쌍으로 저장하는 자료형으로, 데이터를 구조화하고 빠르게 조회할 수 있는 장점이 있습니다. 이번 장에서는 딕셔너리의 고급 기능과 다양한 활용 예제를 다뤄보겠습니다.

● 딕셔너리 순회

items() 메서드를 사용하면 키와 값을 동시에 가져올 수 있습니다.

user = {"name": "Tom", "age": 25}
for key, value in user.items():
    print(f"{key}: {value}")

● 딕셔너리 정렬

딕셔너리는 기본적으로 순서가 없지만, sorted()를 사용해 키나 값 기준으로 정렬된 결과를 얻을 수 있습니다.

scores = {"Tom": 80, "Jane": 95, "Mike": 70}
# 키 기준 정렬
for key in sorted(scores):
    print(key, scores[key])

# 값 기준 정렬
for key in sorted(scores, key=scores.get, reverse=True):
    print(key, scores[key])

● 딕셔너리 컴프리헨션

리스트 컴프리헨션과 유사하게, 딕셔너리도 축약된 형태로 생성할 수 있습니다.

squares = {x: x**2 for x in range(5)}
print(squares)  # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

● 중첩 딕셔너리

딕셔너리 안에 또 다른 딕셔너리를 저장할 수 있어 복잡한 구조도 표현 가능합니다.

students = {
    "Tom": {"age": 20, "grade": "A"},
    "Jane": {"age": 22, "grade": "B"}
}
print(students["Tom"]["grade"])

● defaultdict 활용

collections 모듈의 defaultdict를 사용하면, 키가 없을 때 자동으로 기본값을 설정할 수 있습니다.

from collections import defaultdict
d = defaultdict(int)
d["apple"] += 1
print(d["apple"])  # 1

● 마무리

이번 장에서는 딕셔너리 순회, 정렬, 컴프리헨션, 중첩 구조, defaultdict 등 실전에서 유용한 고급 기능들을 익혔습니다. 딕셔너리는 매우 강력한 자료구조이므로, 다양한 방식으로 활용할 수 있도록 연습해보는 것이 좋습니다. 다음 장에서는 집합(Set) 자료형의 활용법을 알아보겠습니다.

728x90