들어가며
파이썬 딕셔너리는 Key-Value 쌍으로 데이터를 저장하는 유용한 자료구조입니다. 하지만 딕셔너리는 일반적으로 순서가 정해져 있지 않기 때문에, 특정한 순서로 데이터를 정렬하려면 추가적인 작업이 필요합니다. 이번 포스트에서는 파이썬 딕셔너리를 Key 또는 Value 기준으로 오름차순과 내림차순으로 정렬하는 방법에 대해 알아보겠습니다.
Key 기준으로 오름차순 정렬
파이썬 딕셔너리를 Key 기준으로 오름차순 정렬하는 방법은 다음과 같습니다.
# 오름차순 정렬 예시
my_dict = {'b': 2, 'a': 1, 'd': 4, 'c': 3}
sorted_dict_1 = dict(sorted(my_dict.items(), key=lambda x: x[0]))
# 또는
sorted_dict_2 = dict(sorted(my_dict.items()))
sorted() 함수는 파이썬의 내장 함수로, key 매개변수를 사용하여 정렬 기준을 지정할 수 있습니다. lambda 함수를 사용하여 Key 값을 추출하고, reverse 매개변수를 사용하여 오름차순 또는 생략하고 정렬할 수 있습니다. 마지막으로 dict() 함수를 사용하여 정렬된 결과를 다시 딕셔너리로 변환할 수 있습니다.
# Key 기준으로 오름차순 정렬한 결과
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
Key 기준으로 내림차순 정렬
파이썬 딕셔너리를 Key 기준으로 내림차순 정렬하는 방법은 다음과 같습니다.
# 내림차순 정렬 예시
my_dict = {'b': 2, 'a': 1, 'd': 4, 'c': 3}
sorted_dict = dict(sorted(my_dict.items(), key=lambda x: x[0], reverse=True))
마찬가지로 lambda 함수를 사용하여 Key 값을 추출하고, reverse 매개변수를 사용하여 내림차순으로 정렬할 수 있습니다. dict() 함수를 사용하여 정렬된 결과를 다시 딕셔너리로 변환할 수 있습니다.
# Key 기준으로 내림차순 정렬한 결과
{'d': 4, 'c': 3, 'b': 2, 'a': 1}
Value 기준으로 오름차순 정렬
파이썬 딕셔너리를 Value 기준으로 오름차순 정렬하는 방법은 다음과 같습니다.
# 오름차순 정렬 예시
my_dict = {'b': 2, 'a': 1, 'd': 4, 'c': 3}
sorted_dict = dict(sorted(my_dict.items(), key=lambda x: x[1]))
sorted() 함수를 사용하여 Value 값을 기준으로 정렬할 수 있습니다. 이때, key 매개변수를 사용하여 Value 값을 추출할 수 있습니다. 딕셔너리의 .items() 메소드를 사용하여 (Key, Value) 튜플로 변환한 뒤, lambda 함수를 사용하여 튜플의 두 번째 요소인 Value 값을 추출합니다. 마지막으로 dict() 함수를 사용하여 정렬된 결과를 다시 딕셔너리로 변환할 수 있습니다.
# Value 기준으로 오름차순 정렬한 결과
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
Value 기준으로 내림차순 정렬
파이썬 딕셔너리를 Value 기준으로 내림차순 정렬하는 방법은 다음과 같습니다.
# 내림차순 정렬 예시
my_dict = {'b': 2, 'a': 1, 'd': 4, 'c': 3}
sorted_dict = dict(sorted(my_dict.items(), key=lambda x: x[1], reverse=True))
마찬가지로 딕셔너리의 .items() 메소드를 사용하여 (Key, Value) 튜플로 변환한 뒤, lambda 함수를 사용하여 튜플의 두 번째 요소인 Value 값을 추출합니다. 그리고 오름차순과 다르게 reverse 매개변수를 사용하여 내림차순으로 정렬합니다. 마지막으로 dict() 함수를 사용하여 정렬된 결과를 다시 딕셔너리로 변환할 수 있습니다.
# Value 기준으로 내림차순 정렬한 결과
{'d': 4, 'c': 3, 'b': 2, 'a': 1}
마치며
이렇게 파이썬 딕셔너리를 Key 또는 Value 기준으로 정렬하는 방법을 알아봤습니다. sorted() 함수를 사용하여 딕셔너리를 정렬할 수 있으며, key 매개변수를 사용하여 정렬 기준을 지정할 수 있습니다.
오름차순으로 정렬할 때는 reverse=False를 생략해도 되지만, 내림차순으로 정렬할 때는 reverse=True를 명시해야 합니다. 마지막으로 dict() 함수를 사용하여 정렬된 결과를 다시 딕셔너리로 변환할 수 있습니다. 파이썬의 간단한 내장 함수와 람다 함수를 활용하여 딕셔너리를 쉽게 정렬하는 방법을 알아보았습니다.
'PROGRAMMING > Python' 카테고리의 다른 글
[Python] Dictionary get method (파이썬 딕셔너리 팁) (44) | 2023.04.03 |
---|---|
[Python] 파이썬 배열 [:] / [::] 사용법 (feat.list slicing syntax) (40) | 2023.03.01 |
[Python] 파이썬 분수, 표현 / 연산 / 변환 (feat.Fractions module) (7) | 2023.02.11 |
[Python] 누적합 / 순열 / 조합 (feat.itertools module) (4) | 2023.02.03 |
[Python for AI]파이썬 객체지향프로그래밍 기법, Python Object-Oriented Programming(OOP) (11) | 2022.12.09 |