Python-如何根据字典的值对字典列表进行排序?

发布于 2021-02-02 23:24:09

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

考虑下面的数组,

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

当排序name,应该成为

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

    使用密钥而不是cmp看起来更干净:

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

    或如JFSebastian和其他人所建议的,

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

    为了完整性(如fitzgeraldsteele的评论中指出的那样),请添加reverse=True降序排列

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


知识点
面圈网VIP题库

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

去下载看看