您的位置:首页 > 其它

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

2018-01-12 09:26 197 查看
转:http://www.cnblogs.com/gongxr/p/7291714.html

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=
d6fa
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}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: