在 Python 中按字典值对字典列表进行排序
按特定键的值对字典列表进行排序是一项常见任务在Python编程中。这允许您以有意义的顺序组织词典,例如按名称字母顺序或按年龄数字顺序。
解决方案
按值对词典列表进行排序对于特定键,您可以使用带有 key= 参数的排序()函数。此参数采用一个函数,该函数从每个字典中提取所需键的值。
使用 Lambda 函数
实现此目的的一种方法是使用 lambda 函数,这是一个没有名称的匿名函数。例如,要按“name”键对给定的字典列表进行排序:
newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])
使用operator.itemgetter
或者,而不是定义自己的函数,您可以使用operator.itemgetter函数,它提供了一种从对象中提取值的便捷方法。例如:
from operator import itemgetter newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
反向排序
如果要按降序排序,可以在sorted()函数中添加reverse=True参数:
newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)
这将返回一个包含排序字典的新列表。原始列表保持不变。
以上是如何在 Python 中按值对字典列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!