如何按照字典的一个值对字典列表进行排序?

52 浏览
0 Comments

如何按照字典的一个值对字典列表进行排序?

如何按照特定键的值对字典列表进行排序?给定:

[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]

name 排序后应变为:

[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]

admin 更改状态以发布 2023年5月23日
0
0 Comments

import operator

按 key='name' 对字典列表进行排序:

list_of_dicts.sort(key=operator.itemgetter('name'))

按 key='age' 对字典列表进行排序:

list_of_dicts.sort(key=operator.itemgetter('age'))

0
0 Comments

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)

0