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])
    回忆滋润坚持
  • 相关阅读:
    真正的e时代
    在线手册
    UVA 10616 Divisible Group Sums
    UVA 10721 Bar Codes
    UVA 10205 Stack 'em Up
    UVA 10247 Complete Tree Labeling
    UVA 10081 Tight Words
    UVA 11125 Arrange Some Marbles
    UVA 10128 Queue
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/james5d/p/14199786.html
Copyright © 2011-2022 走看看