• 几种简单的排序算法(一)使用Python内部函数或方法sort()和sorted()





    和后面的排序算法拆开食用了




    1、使用python内置函数sort()、sorted()

    a)、基础使用(默认升序)

    第一种: 直接调用 内建函数 sorted()方法可以快速完成升序排序。它返回一个新的list。

    • 可以接受参数reverse(False表示升序)

    例如:

    sorted([2,1,13,44,3,42,3])
    

    [1, 2, 3, 3, 13, 42, 44]

    第二种:也可以使用 内建方法 list.sort()的方法来完成上述,但是此时list自身会被改变。

    • 如果不需要保留原列表,此方法更好
    • 返回值为None
    • 可以接受参数reverse(False表示升序)

    例如:

    a=[2,1,13,44,3,42,3]
    a.sort()
    print(a)
    

    [1, 2, 3, 3, 13, 42, 44]

    PS:

    • 需要注意的是list.sort()方法仅被定义在list中,而sorted()可用于任何一个可迭代对象

    b)、扩展

    从Python2.4开始,list.sort() 和 sorted() 都增加了一个 ‘key’ 参数,主要用来在进行比较之前,指定每个列表元素上要调用的函数。

    key应该是一个函数,其接收一个参数,并且返回一个用于排序依据的key。其执行效率很高,因为对于输入记录key function能够准确的被调用。

    student_tuples = [
         ('john', 'A', 15),
         ('jane', 'B', 12),
        ('dave', 'B', 10),
         ]
    
    # 使用对象的下标作为key: 
    sorted( student_tuples,  key=lambda student: student[2] )       # sort by age
    

    [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

    # 使用对象的属性作为key:
    sorted(student_objects, key=lambda student: student.age)   # sort by age
    

    [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

    c)、稳定性分析

    从python2.2之后,sorted()是保障了稳定性的。



    (以上资料内容侵删)
    转载时请告知(以上资料内容侵删)
    每个人都知道的,哪怕已经很糟糕了但是努力生活依旧很重要。
  • 相关阅读:
    jstack使用-倒出线程堆栈
    sentos nginx安装
    阿里云主机添加云磁盘
    redis 安装并设置为开机启动服务
    curl命令使用小结[转]
    FormView控件下DropDownList是否可以绑定
    数据绑定之DataFormatString
    GridView控件RowDataBound事件中获取列字段值的几种途径 !!!
    怎么用SQL语句备份和恢复数据库?
    XtraReports 入门教程
  • 原文地址:https://www.cnblogs.com/ppppian2020/p/13110184.html
Copyright © 2020-2023  润新知