首页 >后端开发 >Python教程 >如何在 Python 中按特定键的值对字典列表进行排序?

如何在 Python 中按特定键的值对字典列表进行排序?

Barbara Streisand
Barbara Streisand原创
2024-12-24 13:54:14745浏览

How Can I Sort a List of Dictionaries by a Specific Key's Value in Python?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn