Python 按字典中的指定值对字典进行排序

admin 阅读:60 2024-03-02

假设有如下字典:

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

name排序,应变为:

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

方法一、使用内置函数sorted()排序

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

方法二、使用operator模块中的itemgetter函数排序

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

上面的两个方法默认都是升序排列(默认都省略了 reverse 参数),如果想要降序排列,那么添加 reverse=True 即可。

//sorted()
list = sorted(list_to_be_sorted, key=lambda d: d['name'], reverse=True) 
//operator.itemgetter()
from operator import itemgetter
list = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True) 
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!