[파이썬] 딕셔너리 키, 값 기준 정렬
파이썬 딕셔너리 정렬하기
파이썬 딕셔너리 타입에서 키, 값을 기준으로 각각 오름차순, 내림차순으로 정렬하는 방법을 알아본다. 헷갈릴 수 있으니, 이참에 정리해두면 언제든 도움이 될 듯.
샘플 딕셔너리부터. (참고 : 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)]