zoukankan      html  css  js  c++  java
  • (二十二)python 3 sort()与sorted()

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列

    一,最简单的排序

    1.使用sort排序

    my_list = [3, 5, 1, 4, 2]
    my_list.sort()
    print (my_list)
    
    #输出: [1, 2, 3, 4, 5]
    

      

    使用sort()方法对list排序会修改list本身,不会返回新list,通常此方法不如sorted()方便,但是如果你不需要保留原来的list,sort()方法将更有效。

    sort()不能对dict字典进行排序

    2.使用sorted()排序,

    my_list = [3, 5, 1, 4, 2]
    result = sorted(my_list)
    print (result)
    
    #输出: [1, 2, 3, 4, 5]
    

    sorted()有返回值 

    my_dict = {"a":"1", "c":"3", "b":"2"}
    result = sorted(my_dict)
    print (result)
    
    #输出: ['a', 'b', 'c']
    

    对dict排序默认会按照dict的key值进行排序,最后返回的结果是一个对key值排序好的list

    二,key参数

    列表中包含元组,通过元组中某个元素进行排序;lambda x:x[元素位置]
    # 列表中包含元组,通过元组中某个元素进行排序;lambda x:x[元素位置]
    stu=[("winnie","A",12),("lucy","C",16),("john","B",14)]
    stu.sort(key=lambda x:x[2])
    print(stu)
    s=sorted(stu,key=lambda x:x[1],reverse=True)  #默认false ,升序
    print(s)
    
    #结果
    #[('winnie', 'A', 12), ('john', 'B', 14), ('lucy', 'C', 16)]
    #[('lucy', 'C', 16), ('john', 'B', 14), ('winnie', 'A', 12)]
    
    列表中包含字典,按照字典中某个key值进行排序  lambda x:x[key值]
    # 列表中包含字典,按照字典中某个key值进行排序  lambda x:x[key值]
    l1=[{'name0':'李丽','age':40}, {'name0':'张那','age':30},{'name0':'王原','age':50},{'name0':'王丽萍','age':50}]
    l2=sorted(l1,key=lambda x:x['age'])
    print(l2)
    
    # 结果:
    # [{'name0': '张那', 'age': 30}, {'name0': '李丽', 'age': 40}, {'name0': '王原', 'age': 50}, {'name0': '王丽萍', 'age': 50}]
    

      

  • 相关阅读:
    判断文件是否存在
    peewee模块更改数据-sqlite
    Python操纵数据库:peewee
    PyQt5调用主窗口
    FHQ-Treap学习笔记
    P3047 [USACO12FEB]Nearby Cows G(树形DP)
    P2986 [USACO10MAR]Great Cow Gathering G(树形DP)
    【普及】Codeforces Round #713(Div 3) 1512A~G
    P1272.重建道路(树形背包)
    P273.有线电视网(树上背包)
  • 原文地址:https://www.cnblogs.com/a-ant/p/11032559.html
Copyright © 2011-2022 走看看