zoukankan      html  css  js  c++  java
  • python中sort与sorted区别

    1、sort()函数 (只对list有用)

    sort(...)

      L.sort(key = None,reverse=False) 

      key = 函数 这个函数会从每个元素中提取一个用于比较的关键字。默认是None

      reverse = True/False (默认是False升序;True:降序)

      作用:对原序列进行排序,也就是直接在原序列上操作,没有返回值

    sorted()函数

      sorted(iterable,key=None,reverse = False)

      iterable:是可迭代的对象

      key:函数,这个函数会从每个元素中提取一个用于比较的关键字;默认是None

      正确的写法是:key = func  函数名称不写括号

    例子1:按元素的长度进行排序

    a = [(1,),(1,1),(1,2,3),(2,4)]
    
    def func(b):
        return len(b)
    
    
    
    print(sorted(a,key = func,reverse = True))

    执行返回:[(1, 2, 3), (1, 1), (2, 4), (1,)]

    例子2:有一个数组,第一列是员工ID,第二列是姓名,第三列是工资,请按工资的降序进行排序

    l= [[1,'tom',3000],[2,'com',4000],[3,'aom',1500]]
    
    print(sorted(l,key=lambda x:x[2]))

    执行返回:[[3, 'aom', 1500], [1, 'tom', 3000], [2, 'com', 4000]]

    例子3:对list里面嵌套的字典,按照age进行升序排序

    alist=[{"name":"a","age":20},{"name":"b","age":30},{"name":"c","age":25}]
    
    print(sorted(alist,key= lambda x:x['age']))

    执行返回:[{'name': 'a', 'age': 20}, {'name': 'c', 'age': 25}, {'name': 'b', 'age': 30}]

  • 相关阅读:
    lintcode:Flip Bits 将整数A转换为B
    lintcode:strStr 字符串查找
    lintcode:Subtree 子树
    lintcode 容易题:Partition Array by Odd and Even 奇偶分割数组
    lintcode:在二叉查找树中插入节点
    lintcode:在O(1)时间复杂度删除链表节点
    lintcode:哈希函数
    lintcode:合并排序数组 II
    lintcode:合并排序数组
    lintcode:数飞机
  • 原文地址:https://www.cnblogs.com/ff-gaofeng/p/11588028.html
Copyright © 2011-2022 走看看