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实际上不算逆向排列了,属于排序,容易混淆,所以给出。

  • 相关阅读:
    [Erlang05]gen_server怎么去写eunit?
    [Erlang04]为什么有了rpc还有net_kernel:connect/1?
    [Erlang03]Erlang有哪些好用的静态分析工具?
    [SIP01]SIP Header Fields里面各字段用途
    [SIP00]SIP 概念总结
    [Erlang00]:gen_server:reply/2
    Makefile教程
    Linux 环境下开发 STM32
    Ubuntu 18.04 + ROS Melodic + TurtleBot3仿真
    Ubuntu系统鼠标不能点击
  • 原文地址:https://www.cnblogs.com/suguangti/p/10658252.html
Copyright © 2011-2022 走看看