본문 바로가기
코테 공부 🔥/보충 공부 🔠

[Python] 파이썬 딕셔너리 값 정렬 (key, value)

by 서니서닝 2023. 1. 24.
728x90

 

 

딕셔너리를 자주 사용하지 않아서 그런지, 한번 사용할 때마다 방법이 가물가물했다.

블로그에 딱 정리해두고 내 머리에도 정리해두자! 👶

 

dict_ex = { 'b':5, 'c':4, 'B':1, 'a': 2 }

 

1. key를 기준으로 오름차순 정렬

딕셔너리에 .item() 을 해주면, 각 key, value가 들어있는 tuple 리스트로 변한다.

dict_ex = { 'b':5, 'c':4, 'B':1, 'a': 2 }

print(dict_ex.items())

 

sorted()에 인자로 위에서 구한 튜플(dict_ex.items())을 전달하여 주면 오름차순으로 정렬된다.

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

 

참고로 items를 이용하지 않고, 바로 sorted하게 되면

print(sorted(dict_ex))

키 값만 오름차순으로 정렬되어 나온 리스트를 구할 수도 있다.

 

 

2. key를 기준으로 내림차순 정렬

오름차순과 마찬가지로 sorted()를 사용한다. 차이점은 reverse = True 를 인자로 전달해준다는 점이다.

sorted_dict = sorted(dict_ex.items(), reverse = True)
print(sorted_dict)

 

 

3. value를 기준으로 오름차순 정렬

value를 기준으로 정렬하기 위해서 lambda를 사용할 것이다.

마찬가지로 sorted를 사용해준다. sorted 함수는 key를 받을 수 있다.

key값을 lambda 식을 사용하여 1번째 index 값을(value값) 기준으로 정렬해준다고 고지해준다.

 

item은 임의로 준 이름이고, lambda x : x[1], lambda i : i[1] 이런식으로 사용하여도 무관하다.

sorted_dict = sorted(dict_ex.items(), key = lambda item: item[1])
print(sorted_dict)

 

 

 

4. value를 기준으로 내림차순 정렬

lamda에 item[1]을 넣어주고 value값을 기준으로 정렬하게 해주고, reverse True를 주어 내림차순으로 정렬한다.

sorted_dict = sorted(dict_ex.items(), key = lambda item: item[1], reverse=True)
print(sorted_dict)

728x90

댓글