zoukankan      html  css  js  c++  java
  • sort方法和sorted()函数

    sort方法和sorted()函数的区别:

    相同点:都能完成排序操作。

    不同点:

    (1)使用sort()方法对list排序会修改list本身,不会返回新list,sort()不能对dict字典进行排序;

    (2)sorted方法对可迭代的序列排序生成新的序列,对dict排序默认会按照dict的key值进行排序,

    最后返回的结果是一个对key值排序好的list;

    (3)sorted对tuple, dict依然有效,而sort不行。

    sort方法

    类似于reverse,sort方法也是List(列表)内建的函数,主要用于列表元素的排序,其语法为:

    #key可以指定列表元素比较时用到的函数
    #reverse默认时False(升序),指定为True时降序排列
    List.sort(key=None,reverse=False)




    d = {"a": 56, "b": 23, "f": 41, "c": 90,"d": 12, "e": 64, "g": 88}
    y=sorted(d.items())
    print(y)
    m=sorted(d.items(),key=lambda x:x[1])#按字典的key值进行排序
    print(m)
    a=sorted(d.items(),key=lambda x:x[1],reverse = True) #副本
    print(a)
    # 第一个参数是需要排序的列表,第二个参数是指定key(列表中每一项的第几个元素)来进行排序。
    # d.items()返回的是一个列表
    # [('a', 56), ('b', 23), ('c', 90), ('d', 12), ('e', 64), ('f', 41), ('g', 88)]
    # sorted会对d.items()这个list进行遍历,把list中的每一个元素,
    # 也就是每一个tuple()当做x传入匿名函数lambda x:x[1],
    # 函数返回值为x[1], 也就是key=x[1]=tuple()[1]=('a', 56)[1],
    # 也就是说按照里表中每个项的第二个元素进行排序(第一个是x[0])
    回忆滋润坚持
  • 相关阅读:
    通过strace 监控 fdatasync
    RAID 2.0
    AHCI vs NVMe
    NVMe 图解
    详解linux运维工程师入门级必备技能
    条带深度 队列深度 NCQ IOPS
    NVMe 与 AHCI
    IO负载高的来源定位 IO系列
    磁盘性能指标--IOPS 理论
    java程序员从笨鸟到菜鸟系列
  • 原文地址:https://www.cnblogs.com/james5d/p/14199786.html
Copyright © 2011-2022 走看看