在 Python 中按字典值对字典列表进行排序
根据特定键的值对字典列表进行排序可能会出现在各种编程场景。考虑代表个人及其年龄的字典示例列表:
input_list = [{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
按名称排序此列表将产生以下输出:
sorted_list = [{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]
解决方案:
Python 的sorted() 函数提供了一种通过应用自定义排序规则对数据结构进行排序的便捷方法。要按特定键的值对字典列表进行排序,请使用 key= 参数。
方法 1:使用 Lambda 函数
key= 参数需要一个函数它接受字典作为输入并返回用于排序的键的值。以下代码使用 lambda 函数:
sorted_list = sorted(input_list, key=lambda d: d['name'])
方法 2:使用 itemgetter
作为定义 lambda 函数的替代方法,您可以使用 operator.itemgetter () 函数:
from operator import itemgetter sorted_list = sorted(input_list, key=itemgetter('name'))
降序排序顺序
要按降序排序,请在sorted()函数中指定reverse=True:
sorted_list = sorted(input_list, key=itemgetter('name'), reverse=True)
以上是如何在 Python 中按特定键的值对字典列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!