• Python学习系列之列表元素的排序(十二)


    一、列表元素的排序操作

    常见的两种排序方式:

    1. 调用sort()方法,列中的所有元素默认按照从小到大的顺序进行排序,可以指定reserve=True,进行降序排序
    2. 调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变

    二、.使用sort()进行排序

    1.使用sort()默认排序进行升序排序

    #使用sort()排序
    lst=[60,80,50,70,88,32]
    print('排序前:',lst,id(lst))
    lst.sort()
    print('排序后:',lst,id(lst))
    

      执行结果如下:

     解析:使用sort方法默认进行升序排列且不会改变列表的内存地址空间

    2.使用sort(reverse=True)进行降序排序

    #使用sort(reverse=True)排序
    lst=[60,80,50,70,88,32]
    print('排序前:',lst,id(lst))
    lst.sort(reverse=True)
    print('排序后:',lst,id(lst))
    

      执行结果如下:

     解析:lst.sort(reverse=True)表示将lst列表按照降序进行排序,排序时不改变lst列表对象的内存地址,仅仅只是在其内部进行位置的调换

    另:当reverse=True时进行降序排序,如果reverse=False时则进行升序排序,举例:

    lst=[60,80,50,70,88,32]
    print('排序前:',lst,id(lst))
    lst.sort(reverse=False)
    print('排序后:',lst,id(lst))
    

      执行结果如下:

     解析:故sort(reverse=False)可以对列表进行升序排序,和sort()默认升序排序的结果一样

    3.使用内置函数sorted()进行升序排序

    举例:

    #调用内置函数sorted()进行升序排序
    lst=[60,80,50,70,88,32]
    print('排序前:',lst,id(lst))
    new_list=sorted(lst)
    print('排序后:',new_list,id(new_list))
    

      执行结果如下:

     解析:sorted()方法是内置函数,不需要申明和创建,直接使用即可,sorted(lst)表示调用sorted函数对lst列表进行升序排序,排序完成后会生成一个新的列表对象,原列表不做改变

    4.调用内置函数sorted(reverse=True)进行降序排序

    举例:

    #调用内置函数sorted(reverse=True)进行降序排序
    lst=[60,80,50,70,88,32]
    print('排序前:',lst,id(lst))
    new_list=sorted(lst,reverse=True)
    print('排序后:',new_list,id(new_list))
    

      执行结果如下:

     

     解析:sorted(lst,reverse=True)表示调用sorted函数对列表lst进行排序,reverse=True表示是进行降序排序。调用sorted函数就会产生一个新的列表对象,所以新对象new_list的内存地址和原对象lst的内存地址不一致。

    当reverse=False,依然是对新列表对象new_list进行升序排序,如下:

    #调用内置函数sorted(reverse=False)进行升序排序
    lst=[60,80,50,70,88,32]
    print('排序前:',lst,id(lst))
    new_list=sorted(lst,reverse=False)
    print('排序后:',new_list,id(new_list))
    

      执行结果如下:

    总结:

      1.对列表进行排序以后两种方式,第一种是使用sort方法,需要使用列表对象进行调用,不使用参数时默认进行升序排序,参数是reverse=True时表示进行降序排序,reverse=False时表示进行升序排序,sort()方法是对列表在原位置进行排序,即在列表内部进行各个值进行位置调整,不会产生新的列表对象

      2.第二种是sorted()方法,sorted()是内置函数,直接使用即可,sorted()函数是在不变动原有列表的基础上,产生一个新的列表对象,在新列表对象中存放排序后的结果

  • 相关阅读:
    shell中逻辑与的两种表示方法
    Git学习之Git恢复进度
    RH318之域控服务器
    《征服C指针》读书笔记
    2013年:一个技术领导的启程
    sqlite的一个Unable to Open database file的坑爹错误
    我的2013——青春的躁动
    C/C++注册动态对象到Lu系统并进行运算符重载
    Geeks面试题:Min Cost Path
    Leetcode Gray Code
  • 原文地址:https://www.cnblogs.com/wx170119/p/14047910.html
走看看 - 开发者的网上家园