zoukankan      html  css  js  c++  java
  • 列表逆向排列的几种实现形式

    # ----------------------------------------------------------------------
    # ----------------------------------------------------------------------
    排列方向:
    # ----------------------------------------------------------------------
    li=[1,2,3,'a',5,6]
    res=li.reverse()
    print(li)
    print(res)
    # [6, 5, 'a', 3, 2, 1]
    # None
    # 直接将原列表逆向排列,在原列表基础上改,原列表发生改变
    # ----------------------------------------------------------------------
    li=[1,2,'a',4,5,6]
    res=li[::-1]
    print(li)
    print(res)
    # [1, 2, 'a', 4, 5, 6]
    # [6, 5, 4, 'a', 2, 1]
    # 对列表进行反向切片,产生一个新的逆向列表,原列表不变。
    # ----------------------------------------------------------------------
    #li=[1,'a',3,4,5,6]
    iterator=reversed(li)
    l=list(iterator)
    print(li)
    print(iterator)
    print(l)
    # [1, 'a', 3, 4, 5, 6]
    # <list_reverseiterator object at 0x00000161225C8A90>
    # [6, 5, 4, 3, 'a', 1]
    # 通过reversed对列表进行逆向处理后变为迭代器,通过遍历该迭代器存入新列表,达到列表逆向
    # 此时原列表不发生改变
    # # ----------------------------------------------------------------------
    # # ----------------------------------------------------------------------
    排序:
    li=[1,6,2,3,7,5,8]
    res=sorted(li,reverse=True)
    print(li)
    print(res)
    # [1, 6, 2, 3, 7, 5, 8]
    # [8, 7, 6, 5, 3, 2, 1]
    # # 用内置函数sorted对列表进行排序,默认是升序,逆序的话,将参数reverse=True就行。
    # # 此方法不改变原列表,产生逆序的新列表
    # ----------------------------------------------------------------------

    这里的最后一种方法sorted实际上不算逆向排列了,属于排序,容易混淆,所以给出。

  • 相关阅读:
    (九十三)蓝牙的基本使用
    (九十二)加速计的用法(过期方法+新方法)
    (九十一)距离传感器的使用
    1060. Are They Equal (25)
    (九十)使用多个storyboard+代码实现控制器的分开管理
    (八十九)用AutoLayout实现动画和Label根据内容自动调整
    HDU 2013:蟠桃记
    HDU 2050:折线分割平面
    HDU 2042:不容易系列之二
    HDU 1465:不容易系列之一
  • 原文地址:https://www.cnblogs.com/suguangti/p/10658252.html
Copyright © 2011-2022 走看看