关于python:按特定键的降序排序字典列表

Sorting the list of dictionaries in descending order of a particular key

本问题已经有最佳答案,请猛点这里访问。

例如,我有一个用python编写的字典列表

1
[{'a':3, 'b':4, 'c':5, 'd':'6'}, {'a':1, 'b':2, 'c':7, 'd':'9'}]

我想根据"c"的值按降序排序。我试着用sorted()方法,用key = lambda方法,但没有帮助。

有什么想法吗??


写这个有很多方法。在你对兰姆达斯感到满意之前,最好先把它写出来:

1
2
3
4
def sort_key(d):
    return d['c']

sorted(list_of_dict, key=sort_key, reverse=True)

训练有素的眼睛会看到这和下面的一条一样:

1
sorted(list_of_dict, key=lambda d: d['c'], reverse=True)

或者,可能:

1
2
from operator import itemgetter
sorted(list_of_dict, key=itemgetter('c'), reverse=True)

1
2
import operator
list_of_dicts.sort(key=operator.itemgetter('c'), reverse=True)