[파이썬] 딕셔너리 키, 값 기준 정렬

2021-01-24

파이썬 딕셔너리 정렬하기

파이썬 딕셔너리 타입에서 키, 값을 기준으로 각각 오름차순, 내림차순으로 정렬하는 방법을 알아본다. 헷갈릴 수 있으니, 이참에 정리해두면 언제든 도움이 될 듯.

샘플 딕셔너리부터. (참고 : https://rfriend.tistory.com/473)

d = {"java": 20,
    "javascript": 8, 
    "c": 7,  
    "r": 4, 
    "python": 28}
1. 키를 기준으로 오름차순 정렬
res = sorted(d.items())
print(res) 
# [('c', 7), ('java', 20), ('javascript', 8), ('python', 28), ('r', 4)]
2. 키를 기준으로 내림차순 정렬
res = sorted(d.items(), reverse=True)
print(res)
# [('r', 4), ('python', 28), ('javascript', 8), ('java', 20), ('c', 7)]
3. 값을 기준으로 오름차순 정렬
res = sorted(d.items(), key=lambda x: x[1])
print(res)
# [('r', 4), ('c', 7), ('javascript', 8), ('java', 20), ('python', 28)]
4. 값을 기준으로 내림차순 정렬
res = sorted(d.items(), reverse=True, key=lambda x: x[1])
print(res)
# [('python', 28), ('java', 20), ('javascript', 8), ('r', 4)]

# 다른 방법
res = sorted(d.items(), key=lambda x: -x[1])
# [('python', 28), ('java', 20), ('javascript', 8), ('r', 4)]