Python

[TIL] 220821 딕셔너리에서 value값으로 정렬하기, 리스트 컴프리헨션 활용

kyra 2022. 8. 21. 16:12

c = {'a' = 10, 'b' = 1, 'c' = 22}라는 딕셔너리가 있다고 하자.

 

이 딕셔너리를 value값으로 정렬하는 방법은

- 새로운 리스트 생성

- 딕셔너리의 key와 value를 뒤집어 리스트에 저장

- sorted메서드로 정렬

c = {'a':10, 'b':1, 'c':22}
tmp = list()
for k, v in c.items() :
    tmp.append( (v, k) )

tmp = sorted(tmp)
print(tmp)

# [(1, 'b'), (10, 'a'), (22, 'c')]

 

더 간단하게 리스트 컴프리헨션을 사용하는 방법도 있다.

c = {'a':10, 'b':1, 'c':22} 
print(sorted([(v,k) for k,v in c.items()]))

# [(1, 'b'), (10, 'a'), (22, 'c')]