• (一)Python入门-3序列:07列表-排序-revered逆序-max-min-sum


    一:修改原列表,不建新列表的排序

     1 >>> a = [20,10,50,30,40]
     2       
     3 >>> id(a)
     4       
     5 1983361589064
     6 >>> a.sort()    #默认升序排列
     7       
     8 >>> a
     9       
    10 [10, 20, 30, 40, 50]
    11 >>> a.sort(reverse=True)  #降序排序
    12       
    13 >>> a
    14       
    15 [50, 40, 30, 20, 10]
    16 >>> import random
    17       
    18 >>> random.shuffle(a)  #打乱顺序,随机排序
    19       
    20 >>> a
    21       
    22 [40, 50, 30, 20, 10]
    23 >>> random.shuffle(a)
    24       
    25 >>> a
    26       
    27 [10, 30, 40, 20, 50]
    28 >>> id(a)
    29       
    30 1983361589064

    二:建新列表的排序

      可以通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改。

     1 >>> a = [20,10,50,30,40]
     2       
     3 >>> id(a)
     4       
     5 1983366024968
     6 >>> a = sorted(a)   #默认升序
     7       
     8 >>> a
     9       
    10 [10, 20, 30, 40, 50]
    11 >>> id(a)
    12       
    13 1983365869704
    14 >>> a = [20,10,50,30,40]
    15       
    16 >>> id(a)
    17       
    18 1983361588936
    19 >>> b = sorted(a)
    20       
    21 >>> b
    22       
    23 [10, 20, 30, 40, 50]
    24 >>> id(a)
    25       
    26 1983361588936
    27 >>> id(b)
    28       
    29 1983361522952
    30 >>> c = sorted(a,reverse=True)   #降序
    31       
    32 >>> c
    33       
    34 [50, 40, 30, 20, 10]
    35 >>> id(c)
    36       
    37 1983366024968

      通过上面操作,我们可以看出,生成的列表对象b和c都是完全新的列表对象。

    三:reversed()返回迭代器

      内置函数reversed()也支持进行逆序排列,与列表对象 reverse()方法不同的是,内置函数reversed()不对原列表做任何修改,只返回一个逆序排列的迭代器对象。

     1 >>> a = [20,10,50,30,40]
     2       
     3 >>> c = reversed(a)
     4       
     5 >>> c
     6       
     7 <list_reverseiterator object at 0x000001CDC9D1E3C8>
     8 >>> list(c)
     9       
    10 [40, 30, 50, 10, 20]
    11 >>> list(c)
    12       
    13 []

      打印输出c发现提示是:list_reverseiterator。也就是一个迭代对象。同时,我们使用 list(c)进行输出,发现只能使用一次。第一次输出了元素,第二次为空。那是因为迭代对象 在第一次时已经遍历结束了,第二次不能再使用。

    四:列表相关其他内置函数

      1、max和min

        用于返回列表中最大和最小值。

    1 >>> a = [20,10,50,30,40]
    2       
    3 >>> max(a)
    4       
    5 50
    6 >>> min(a)
    7       
    8 10

      2、sum

        对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。

    1 >>> a = [20,10,50,30,40]
    2       
    3 >>> sum(a)
    4       
    5 150
  • 相关阅读:
    生活小记--工作一年后的菜鸡
    git使用笔记-git项目的建立及配置、创建子分支及独立分支、分支重命名
    React-leaflet在ant-design pro中的基本使用
    ionic新入坑-环境搭建+新建项目+打开低版本项目处理
    canvas绘制圆心扇形可组成颜色随机的七色小花
    取所选当前时间前十二个月的数据
    win10被微软流氓更新后编译基于visual Studio的web项目报[ArgumentOutOfRangeException: 指定的参数已超出有效值的范围
    浅析__proto__、prototype
    JavaScript数据类型
    异步与多线程实现不阻塞区别
  • 原文地址:https://www.cnblogs.com/jack-zh/p/10816741.html
Copyright © 2020-2023  润新知