python之itemgetter函数:对字典列表进行多键排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之itemgetter函数:对字典列表进行多键排序相关的知识,希望对你有一定的参考价值。

itemgetter函数:对字典列表进行多键排序

 1 from operator import itemgetter
 2 
 3 list_people = [
 4     {name: Mike, age: 22, score: 90},
 5     {name: Alice, age: 22, score: 90},
 6     {name: Lee, age: 26, score: 92},
 7     {name: Ben, age: 26, score: 85},
 8     {name: Tom, age: 33, score: 90},
 9     {name: Jill, age: 41, score: 72}
10 ]
11 
12 print(根据名字排序:)
13 for i in sorted(list_people, key=lambda person: person[name]):
14     ‘‘‘sorted()函数默认升序排列‘‘‘
15     print(i)
16 
17 print(\n根据得分降序排列:)
18 for i in sorted(list_people, key=itemgetter(score), reverse=True):
19     ‘‘‘参数reverse=True表示降序排列‘‘‘
20     print(i)
21 
22 print(\n根据名字和年龄多键排序:)
23 for i in sorted(list_people, key=itemgetter(name, age)):
24     print(i)

运行结果:

1 根据名字和年龄多键排序:
2 {name: Alice, age: 22, score: 90}
3 {name: Ben, age: 26, score: 85}
4 {name: Jill, age: 41, score: 72}
5 {name: Lee, age: 26, score: 92}
6 {name: Mike, age: 22, score: 90}
7 {name: Tom, age: 33, score: 90}

 

以上是关于python之itemgetter函数:对字典列表进行多键排序的主要内容,如果未能解决你的问题,请参考以下文章

学不会的python之通过某几个关键字排序分组一个字典列表(列表中嵌套字典)

学不会的python之通过某几个关键字排序分组一个字典列表(列表中嵌套字典)

按第一项对嵌套列表进行排序——itemgetter 没有做到这一点

Python 按照某个或某几个字段来排序字典列表

Python面试必考重点之列表,元组和字典第四关——编写一个函数(不要使用python模块的函数),打乱列表元素的顺序/如何对列表元素进行随机排列

Python之集合函数