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
'코테 공부 🔥 > 보충 공부 🔠' 카테고리의 다른 글
[알고리즘/Python] 플로이드-워셜(Floyd-Warshall) 알고리즘 (2) | 2023.04.01 |
---|---|
[자료구조/Python] 세그먼트 트리(Segment Tree) (0) | 2023.03.24 |
[알고리즘/Python] 분할 정복(Divide and Conquer) (0) | 2023.03.24 |
[알고리즘/Python] 이진 탐색(Binary Search) (1) | 2023.01.28 |
[Python] 파이썬 괄호 없이 리스트 출력 (0) | 2023.01.14 |
댓글