一尘不染

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

python

我有一个字典列表,并希望每个项目都按特定值排序。

考虑清单:

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

按 排序时name,应变为:

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

阅读 197

收藏
2022-01-15

共1个答案

一尘不染

sorted()函数接受一个key=参数

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

或者,您可以使用operator.itemgetter而不是自己定义函数

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

为了完整起见,添加reverse=True以降序排序

newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)
2022-01-15