• Python内置排序(sort() and sorted())


    描述

    sort 与 sorted 区别:

    sort 是应用在 list 上的方法,list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值

    sorted 可以对所有可迭代的对象进行排序操作,返回的是一个新的 list,而不是在原来的基础上进行的操作。

    sort语法与实例

    sort()方法语法:

    list.sort(cmp=None, key=None, reverse=False)

    • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

    sort()方法实例:

    常用方式

    list = [('Tom','b',3),('Jerry','c',2),('Spike','a',4)]
    list.sort() #[('Jerry', 'c', 2), ('Spike', 'a', 4), ('Tom', 'b', 3)]
    

    使用key(效率远高于cmp,所以cmp基本不用)

    list = [('Tom','b',3),('Jerry','c',2),('Spike','a',4)]
    list.sort(key=lambda k:k[2]) #[('Jerry', 'c', 2), ('Tom', 'b', 3), ('Spike', 'a', 4)]

    sorted语法

    sorted 语法:

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

    • iterable -- 可迭代对象。
    • cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

    sorted实例:

    students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
    sorted(students, key=lambda s: s[2], reverse=True)       # 按降序
    [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
    

    使用方式:

    sort与sorted优先使用sort,key与cmp优先使用key

  • 相关阅读:
    Lookup 组件用法全解
    将字符串转换成表
    处于同一域中的两台SQL Server 实例无法连接
    在SSIS中的不同组件间使用局部临时表
    SSIS的CheckPoint用法
    控制流如何处理错误
    SSIS 对数据排序
    SSIS 数据输出列因为字符截断而失败
    SQL Server 的本地时间和UTC时间
    TSQL Merge 用法
  • 原文地址:https://www.cnblogs.com/hhs1998/p/16102936.html
Copyright © 2020-2023  润新知