파이썬 리스트속 딕셔너리 정렬
조회수 609회
그
a=[{'apple'=30,'banana'=50,'fruit'=25},
{'apple'=50'banana'=30,'fruit'=10},
{'apple'=22,'banana'=55,'fruit'=66},
{'apple'=32,'banana'=10,'fruit'=5}]
이렇게 리스트 속 딕셔너리가 있는데 여기서 fruit기준으로 정렬하여 순위를 알고싶은데 어떻게 해야할까요.
fruit의 숫자가 높은 66을 처음으로 1이란 숫자를 받아주고 25로 2 받아주고 10으로 3 받아주고 5로 4받아주고 이걸 하고싶은데 rank함수나 max함수 써보려해도 쉽지않더라구요.
1 답변
-
sorted(a, key=lambda d:(d['fruit'], d['apple']), reverse=True) # fruit 로 같으면 apple 로 정렬 [{'apple': 22, 'banana': 55, 'fruit': 66}, {'apple': 30, 'banana': 50, 'fruit': 25}, {'apple': 50, 'banana': 30, 'fruit': 10}, {'apple': 32, 'banana': 10, 'fruit': 5}]
댓글 입력