假设有如下字典:
[{'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)