파이썬(Python)의 딕셔너리(dictionary)는 키(key)와 값(value)이 한 쌍을 이루어 데이터를 저장하는 자료구조입니다. 실무에서는 딕셔너리에 저장된 항목들을 키를 기준으로 정렬하여 출력해야 하는 경우가 자주 발생합니다. 이 글에서는 파이썬 딕셔너리의 항목을 정렬된 순서로 가져오는 다양한 방법을 예제 코드와 함께 살펴보겠습니다.
1. operator 모듈의 itemgetter 활용하기
operator 모듈에는 itemgetter라는 함수가 있습니다. 이 함수에 인덱스 0을 전달하면 딕셔너리의 키를 기준으로 정렬할 수 있습니다. sorted() 함수와 함께 사용하면 정렬된 결과를 손쉽게 얻을 수 있으며, reverse 옵션을 통해 오름차순 또는 내림차순 정렬도 가능합니다.
예제 코드
dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
import operator
print("\n주어진 딕셔너리", str(dict))
print("정렬된 순서로 출력")
for k, n in sorted(dict.items(), key = operator.itemgetter(0), reverse = False):
print(k, " ", n)
실행 결과
주어진 딕셔너리 {12: 'Mon', 21: 'Tue', 17: 'Wed'}
정렬된 순서로 출력
12 Mon
17 Wed
21 Tue
2. sorted() 함수 직접 적용하기
sorted() 함수를 딕셔너리에 직접 적용하면 딕셔너리의 키들이 정렬되어 반환됩니다. 가장 간단한 방법으로, 키만 필요한 경우에 유용합니다.
예제 코드
dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
# sorted() 함수 사용
print("주어진 딕셔너리", str(dict))
print("정렬된 순서로 출력")
for k in sorted(dict):
print(dict[k])
실행 결과
주어진 딕셔너리 {12: 'Mon', 21: 'Tue', 17: 'Wed'}
정렬된 순서로 출력
Mon
Wed
Tue
3. dict.items() 메서드 활용하기
sorted() 함수를 dict.items() 메서드에 적용하면 키와 값을 동시에 정렬된 순서로 출력할 수 있습니다. 키와 값이 모두 필요한 상황에서 가장 효율적인 방법입니다.
예제 코드
dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
# dict.items() 사용
print("\n주어진 딕셔너리", str(dict))
print("정렬된 순서로 출력")
for k, i in sorted(dict.items()):
print(k, i)
실행 결과
주어진 딕셔너리 {12: 'Mon', 21: 'Tue', 17: 'Wed'}
정렬된 순서로 출력
12 Mon
17 Wed
21 Tue
마무리
지금까지 파이썬 딕셔너리의 항목을 정렬된 순서로 가져오는 세 가지 방법을 알아보았습니다.
- operator.itemgetter(0): 키를 기준으로 정렬하며, 내림차순 등 세부 옵션 설정이 가능합니다.
- sorted(dict): 키만 정렬하여 가져오는 가장 간단한 방법입니다.
- sorted(dict.items()): 키와 값을 함께 정렬하여 출력할 수 있습니다.
상황에 맞는 방법을 선택하면 딕셔너리 데이터를 더욱 효율적으로 처리할 수 있습니다.