예제
mydict = {'d': 50, 'a': 20, 'b': 30, 'e': 10, 'c': 30}
1. Key를 기준으로 정렬 (오름차순)
mydict_sorted = sorted(mydict.items())
print(mydict_sorted)
[('a', 20), ('b', 30), ('c', 30), ('d', 50), ('e', 10)]
2. Key를 기준으로 정렬 (내림차순)
mydict_sorted = sorted(mydict.items(), key=lambda x:x[0], reverse=True)
print(mydict_sorted)
[('e', 10), ('d', 50), ('c', 30), ('b', 30), ('a', 20)]
3. Value를 기준으로 정렬 (오름차순)
mydict_sorted = sorted(mydict.items(), key=lambda x:x[1])
print(mydict_sorted)
[('e', 10), ('a', 20), ('b', 30), ('c', 30), ('d', 50)]
4. Value를 기준으로 정렬 (내림차순)
mydict_sorted = sorted(mydict.items(), key=lambda x:x[1], reverse=True)
print(mydict_sorted)
[('d', 50), ('b', 30), ('c', 30), ('a', 20), ('e', 10)]
5. Value 기준으로 오름차순 정렬하되, Value가 같을 경우 Key는 알파벳 순서대로 출력
mydict_sorted = sorted(mydict.items(), key=lambda x:(x[1], x[0]))
print(mydict_sorted)
[('e', 10), ('a', 20), ('b', 30), ('c', 30), ('d', 50)]
복잡한 예제
mydict2 = {'d': (50, 10), 'a': (20, 30), 'b': (30, 30), 'e': (10, 20), 'c': (10, 10)}
6. Value 기준으로 정렬 (오름차순)
mydict2_sorted = sorted(mydict2.items(), key=lambda x:(x[1][0], x[1][1]))
print(mydict2_sorted)
[('c', (10, 10)), ('e', (10, 20)), ('a', (20, 30)), ('b', (30, 30)), ('d', (50, 10))]
'Computer Science > Python' 카테고리의 다른 글
[Python] list 복사 ([:], copy(), deepcopy()) (0) | 2021.02.11 |
---|---|
python list append() vs extend() 차이 (0) | 2021.01.31 |
[Python] is 와 == 의 차이 (0) | 2021.01.26 |
[파이썬] 클래스 변수 vs 인스턴스 변수 차이 (0) | 2021.01.12 |