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

  • 相关阅读:
    c# linq.Where+Func<object,bool>筛选数据
    【转】深入线程安全容器的实现方法
    c# 泛型+反射
    c# List<接口>小技巧
    winfrom的右击菜单项事件中如何获取关联控件的引用
    ASP.NET 1.0
    让包含GridView的div或panel的滚动条自己拉到底部怎么做?
    微软的IE中调试JavaScript的工具下载链接
    ASP.NET调试启动默认浏览器如何设置
    C# WinForm的PictureBox控件图片的拉伸或收缩方式跟随着控件的大小
  • 原文地址:https://www.cnblogs.com/wx170119/p/14047910.html
Copyright © 2011-2022 走看看