• 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()函数是在不变动原有列表的基础上,产生一个新的列表对象,在新列表对象中存放排序后的结果

  • 相关阅读:
    7 -- Spring的基本用法 -- 11... 基于XML Schema的简化配置方式
    7 -- Spring的基本用法 -- 10... 获取其他Bean的属性值;获取Field值;获取任意方法的返回值
    Java 代码块:静态代码块、构造代码块、构造函数块
    MyBatis Like
    7 -- Spring的基本用法 -- 9...容器中Bean的生命周期
    my-small.ini、my-medium.ini、my-large.ini、my-huge.ini文件的作用
    java.lang.Class<T> -- 反射机制及动态代理
    7 -- Spring的基本用法 -- 8... 抽象Bean与子Bean;Bean继承与Java继承的区别;容器中的工厂Bean;获得Bean本身的id;强制初始化Bean
    Eclipse Maven 配置setting.xml 的镜像远程仓库
    7 -- Spring的基本用法 -- 7... 创建Bean的3种方式
  • 原文地址:https://www.cnblogs.com/wx170119/p/14047910.html
Copyright © 2020-2023  润新知