zoukankan      html  css  js  c++  java
  • 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('
    根据得分降序排列:')
    18 for i in sorted(list_people, key=itemgetter('score'), reverse=True):
    19     '''参数reverse=True表示降序排列'''
    20     print(i)
    21 
    22 print('
    根据名字和年龄多键排序:')
    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方法
    Cpp求PI
    Asp.net身份验证和授权
    [转] 魔兽系列事件报道
    directxsdk aug 2006
    [转]转变的开始!NVIDIA更换新Logo
    wxWidgets 2.7.0 released
    OpenGL 和 Vista(续)
    暴雪员工的跳槽纪录
    3D版的星际争霸
  • 原文地址:https://www.cnblogs.com/gongxr/p/7291714.html
Copyright © 2011-2022 走看看