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}
  • 相关阅读:
    java中CyclicBarrier的使用
    java并发中CountDownLatch的使用
    java中Locks的使用
    java 中的fork join框架
    java中ThreadPool的介绍和使用
    java中的daemon thread
    java中interrupt,interrupted和isInterrupted的区别
    java中的Atomic类
    怎么在java中关闭一个thread
    java中join的使用
  • 原文地址:https://www.cnblogs.com/gongxr/p/7291714.html
Copyright © 2011-2022 走看看