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

发布于 2022-02-17 09:45:53

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

考虑清单:

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

按 排序时name,应变为:

[{'name':'Bart', 'age':10}, {'name':'Homer', 'age':39}]
关注者
0
被浏览
66
1 个回答
  • 面试哥
    面试哥 2022-02-17
    为面试而生,有面试问题,就找面试哥。

    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)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看