본문 바로가기

main/Python

파이썬 딕셔너리 Dictionary의 Key 혹은 Value로 정렬하기

딕셔너리는 순서가 없는 자료형이라 자체 정렬할 수 없다.

 

dictionary를 dict.items()를 이용해 키와 값의 쌍인 튜플로 풀고

그 튜플을 정렬하면 리스트를 반환받을 수 있다.

 

dict = {'b': 1, 'a': 4}

sorted_dict = sorted(dict.items())
print(sorted_dict)

[('a', 4), ('b', 1)]

 

기본적으로 오름차순 정렬이 된다.

내림차순 정렬을 하려면 sorted() 함수의 옵션에 reverse=True를 주면 된다.

sorted_dict = sorted(dict.items(), key = lambda item: item[0], reverse=True)

이 때 람다는, 키와 밸류 중 어떤 것을 기준으로 내림차순 정렬할 지 정하기 위해 사용된다.

item[0]이면 키를 의미한다.

item[1]이면 밸류를 의미한다.

 

설정값을 지정해줌으로써 어떤 값을 기준으로 오름차순, 내림차순 정렬을 할 지 설정할 수 있다.