-
[문법 / Python] 딕셔너리 정렬하기알고리즘/알고리즘 개념 2020. 1. 15. 15:48
딕셔너리를 정렬하는 방법들을 알아보겠습니다.
딕셔너리는 리스트처럼 sort()함수를 사용할 수 없기때문에 sorted()를 이용해서 정렬해야 합니다.
KEY를 이용한 정렬
import operator dict = {'A':1, 'D':4, 'C':3, 'B':2} sort_dict = sorted(dict.items()) print(sort_dict)
이렇게 실행하게 되면 답은
>> [('A', 1), ('B', 2), ('C', 3), ('D', 4)]
이렇게 나옵니다! 키를 기준으로 정렬하되, 키와 값을 튜플로 묶어서 정렬된 값을 반환합니다.
VALUE를 이용한 정렬
dict = {'A':1, 'D':4, 'C':3, 'B':2} sort_dict = sorted(dict.items(),key=lambda x:x[1]) #value는 [1] print(sort_dict)
이렇게 실행하게 되면 답은
>> [('A', 1), ('B', 2), ('C', 3), ('D', 4)]
이렇게 나옵니다! 키를 기준으로 정렬하되, 키와 값을 튜플로 묶어서 정렬된 값을 반환하는데 그 값에서 x[1]을 기준으로 다시 정렬합니다.
x[1]은 각 튜플의 두번째값을 의미하는데 정수를 기준으로 정렬하라는 말과 같습니다.
import operator dict = {'A':1, 'D':4, 'C':3, 'B':2} sort_dict = sorted(dict.items(),key=operator.itemgetter(1)) #value는 itemgetter(1) print(sort_dict)
이 방법도 동일합니다! 여기서 operator.itemgetter(1)또한 각 튜플의 두번째값을 의미합니다.
'알고리즘 > 알고리즘 개념' 카테고리의 다른 글
[알고리즘 / Python] BFS , DFS 인접리스트로 구현하기 | 초코더 (2) 2020.01.16 [정렬 알고리즘 / Python] 선택 정렬 | 초코더 (0) 2020.01.09