如何按照python中字典的值对字典列表进行排序?


我得到了一个字典列表,并希望按该字典的值进行排序。

[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]

按名称排序,应该成为

[{'name':'Bart', 'age':10}, {'name':'Homer', 'age':39}]

它可能看起来更干净,使用一个键而不是一个cmp:

newlist = sorted(list_to_be_sorted, key=lambda k: k['name']) 

或者像J.F.Sebastian和其他人所建议的那样,

from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name')) 

为了完整性(正如fitzgeraldsteele的注释中指出的那样),添加reverse = True来降序排序

newlist = sorted(l, key=itemgetter('name'), reverse=True)

import operator

按键=’名称’对字典列表进行排序:

list_of_dicts.sort(key=operator.itemgetter('name'))

通过key =’age’:

对字典列表进行排序

list_of_dicts.sort(key=operator.itemgetter('age'))

未经作者同意,本文严禁转载,违者必究!