본문 바로가기

python sort dict key by value

dictionary의 get 메소드를 이용하면 개별 key에 대해 value를 가져올 수 있다.

sorted(A, key=A.get)

출처: https://stackoverflow.com/questions/7340019/sort-values-and-return-list-of-keys-from-dict-python

sorted(A, key=lambda x: A[x])

출처: https://school.programmers.co.kr/learn/courses/30/lessons/42889/solution_groups?language=python3

이 방법도 있다.

 

내가 처음에 구현한 방법은 아래인데 O(NlogN + N)의 시간 복잡도를 갖는다.

위 방법이 O(NlogN)으로 더 효율적이므로 앞으로는 위 방법을 사용하기로 한다.

[i[0] for i in sorted(A.items(), key=lambda x:x[1])]