본문 바로가기

Python

딕셔너리 다중 조건으로 정렬하기

sorted와 lambda함수를 사용하여 dictionary를 여러 키로 정렬이 가능하다.


<<코드>>


1
2
3
4
5
6
7
8
9
10
11
12
13
dictlist = [
    {'height' : 170'weight'60'name':'홍길동'},
    {'height' : 160'weight'90'name':'이몽룡'},
    {'height' : 165'weight'55'name':'성춘향'},
    {'height' : 180'weight'70'name':'대조영'},
    {'height' : 180'weight'85'name':'김개똥'},
    {'height' : 165'weight'65'name':'아무개'}
    
]
 
# height 높은 순, weight 낮은 순
sorted_dict = sorted(dictlist, key = lambda x : (-x['height'], x['weight']))
sorted_dict
cs



<<결과>>


=> 결과를 보면 'height'를 먼저 기준으로 내림차순으로 정렬되고 

'height'가 같은 경우 'weight'를 기준으로 오름차순으로 정렬됨을 확인할 수 있다.



반응형

'Python' 카테고리의 다른 글

딕셔너리 value값을 기준으로 정렬하기  (0) 2020.06.16