Python 파이썬 딕셔너리 정렬 방법

 이번에 공유드릴 내용은 Python 파이썬 딕셔너리 정렬 방법 대해서 공유드리도록 하겠습니다. 파이썬에서는 리스트와 함께 여러 가지 항목을 정리하는 데 사용하는 함수가 바로 딕셔너리입니다. 

 리스트의 경우에는 sorted 메서드로 정렬을 할 수 있지만 딕션너리의 경우에는 키와 값을 모두 가지고 있어서 딕셔너리 정렬을 하려면 키 또는 값을 기준으로 사전을 정렬해야 합니다.

딕셔너리 키 값으로 딕셔너리 정렬

: 먼저 딕셔너리 키로 사전 정렬 하는 방법에 대해서 설명 드리도록 하겠습니다. 일단 키로 사전을 정렬하려면 사전의 “items()” 메서드와 함께 내장 “sorted()” 함수를 활용하시면 됩니다.

 “items()” 메서드는 키-값 쌍을 포함하는 튜플 목록을 반환하는데, 이 목록을 “sorted()” 함수에 전달하고 “dict()”를 이용하여 다시 한번 사전으로 변환하여 키를 기반으로 정렬한 딕셔너리 값을 도출할 수 있습니다. 

 위에서 설명 드린 사항에 대한 이해를 돕기 위해서 아래와 같이 딕셔너리 키로 사전 정렬 하는 방법에 대해서 예제를 통해서 설명드리도록 하겠습니다.

unsorted_dict = {'apple': 3, 'banana': 2, 'orange': 1}
sorted_dict = dict(sorted(unsorted_dict.items()))
print(sorted_dict)

 

위에 코드를 실행을 해보면 아래와 같은 결과값이 나오는 것을 확인하실 수 있습니다. 즉 키 값을 기준으로 정렬된 사항이 다시 딕셔너리로 구성이 된 것입니다. 

파이썬-키값-딕셔너리-정렬-코드-결과
파이썬-키값-딕셔너리-정렬-코드-결과

 

 

 

딕셔너리 속성 값으로 딕셔너리 정렬

: 다음은 값을 기준으로 사전을 정렬하려면 람다 함수로 제공되는 사용자 지정 정렬 키와 함께 “sorted()” 함수를 사용하여 구성하실 수 있습니다.

 이때 람다 함수 함수를 활용할 수 있는데 람다 함수 “lambda item: item[1]”은 정렬이 각 키-값 쌍의 값(“item[1]”)을 기반으로 수행되도록 지정하시면 됩니다. 

그리고 마지막으로 dict() 생성자를 사용하여 정렬된 튜플 목록을 다시 사전으로 변환하면 값별로 정렬된 사전을 얻을 수 있습니다.

 위에서 설명 드린 내용에 대한 이해를 돕기 위해서는 다음과 같이 예제를 구성해 보았습니다. 

unsorted_dict = {'apple': 3, 'banana': 2, 'orange': 1}
sorted_dict = dict(sorted(unsorted_dict.items(), key=lambda item: item[1]))

print(sorted_dict)

 

위에 코드를 실행을 해보면 아래와 같이 딕셔너리 값을 기준으로 해서 딕셔너리가 정렬된 것을 확인하실 수 있습니다.

파이썬-속성값-딕셔너리-정렬-코드-결과
파이썬-속성값-딕셔너리-정렬-코드-결과

 

내림차순으로 딕셔너리 정렬

: 다음으로는 딕셔너리 내림차순으로 정렬하는 방법에 대해서 설명드리도록 하겠습니다. 위에서 키 값을 기준으로 정렬을 할 때 sorted() 함수를 사용하였는데 여기에서 sorted() 함수는 기본적으로 정렬은 오름차순으로 수행됩니다.

 그런데 만약 내림차순으로 딕셔너리를 정렬하고자 하는 경우에는 “sorted()” 함수에 “reverse=True” 매개변수를 추가하여 사전을 내림차순으로 정렬할 수 있습니다.

위에서 설명드린 사항에 대해서 이해를 돕기 위해서 다음과 같이 예제를 구성해 보았습니다.  

unsorted_dict = {'apple': 3, 'banana': 2, 'orange': 1}
sorted_dict = dict(sorted(unsorted_dict.items(), key=lambda item: item[1], reverse=True))

print(sorted_dict)
내림차순-딕셔너리-정렬-코드-결과
내림차순-딕셔너리-정렬-코드-결과

 

해당 코드를 실행을 해보면 “reverse=True”라고 설정하게 되면 내림차순으로 딕셔너리가 정렬이 되는 것을 확인하실 수 있습니다. 

 

 

 여기까지 작성하도록 하겠습니다. 지금까지 Python 파이썬 딕셔너리 정렬 방법 대해서 포스팅을 작성하였습니다. 딕셔너리 정렬은 적절한 매개변수 및 람다 함수와 함께 “sorted()” 함수를 사용하면 사전 정렬을 쉽게 수행할 수 있습니다.

 아무쪼록 제 포스팅을 통해서 파이썬 딕셔너리 정렬 방법 대해서 알아가시는데 도움이 되셨으면 합니다. 딕셔너리 함수에 대한 더 자세한 내용은 파이썬 공식 홈페이지도 활용하시는 걸 추천 드립니다.

 

Leave a Comment