如何按字典的值对字典列表进行排序?
2022-09-05 00:47:51
如何按特定键的值对字典列表进行排序?鉴于:
[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
排序方式为 时,它应变为:name
[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]
如何按特定键的值对字典列表进行排序?鉴于:
[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
排序方式为 时,它应变为:name
[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]
sorted()
函数采用参数key=
newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])
或者,您可以使用operator.itemgetter
,而不是自己定义函数。
from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
为完整起见,请按降序添加到排序reverse=True
newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)
import operator
按键='name'对词典列表进行排序:
list_of_dicts.sort(key=operator.itemgetter('name'))
按键='age'对词典列表进行排序:
list_of_dicts.sort(key=operator.itemgetter('age'))