• python 数据结构 初学时没太注意却发现很有用的点点滴滴


    1.

    list.extend(L)

    将指定列表中的所有元素附加到另一个列表的末尾;相当于a[len(a):] L

    2.

    list.pop([i])

    删除列表中指定位置的元素并返回它。如果未指定索引,a.pop()将删除并返回列表中的最后一个元素。(i 两边的方括号表示这个参数是可选的,而不是要你输入方括号。你会在 Python 参考库中经常看到这种表示法)。

    3.

    list.index(x)

    返回列表中第一个值为 x 的元素的索引。如果没有这样的元素将会报错。

    4.

    list.count(x)

    返回列表中 x 出现的次数。

    5.

    list.sort(cmp=None, key=None, reverse=False)

    原地排序列表中的元素(参数可以用来自定义排序方法,参考sorted()的更详细的解释)。

    注意原地。

    6.

    insertremove 或者 sort之类的方法

    只修改列表而没有返回值打印出来

    -- 它们其实返回了默认值None

    这是 Python 中所有可变数据结构的设计原则。

    7.列表作为栈很方便。pop出栈,append入栈。

    列表方法使得将List当作栈非常容易,最先进入的元素最后一个取出(后进先出)。使用append()将元素添加到栈顶。使用不带索引的pop()从栈顶取出元素。

    类似于列表的后面为栈顶。

    8.列表作为队列(先进先出)不好,效率不高,可用collections.deque

    也可以将列表当作队列使用,

    此时最先进入的元素第一个取出(先进先出);

    但是列表用作此目的效率不高。

    在列表的末尾添加和弹出元素非常快,

    但是在列表的开头插入或弹出元素却很慢 (因为所有的其他元素必须向后移一位)。

    如果要实现一个队列,

    可以使用collections.deque

    它设计的目的就是在两端都能够快速添加和弹出元素。

    例如:

    >>>
    >>> from collections import deque
    >>> queue = deque(["Eric", "John", "Michael"])
    >>> queue.append("Terry")           # Terry arrives
    >>> queue.append("Graham")          # Graham arrives
    >>> queue.popleft()                 # The first to arrive now leaves
    'Eric'
    >>> queue.popleft()                 # The second to arrive now leaves
    'John'
    >>> queue                           # Remaining queue in order of arrival
    deque(['Michael', 'Terry', 'Graham'])








  • 相关阅读:
    JMX示例
    在开发iOS程序时对日期处理的总结(转)
    iOS 身份证验证(转)
    IOS --- OC与Swift混编(转)
    Charles辅助调试接口(转)
    iOS 调试 crash breakpoint EXC_BAD_ACCESS SIGABRT(转)
    Objective-C中常量重复定义的解决方案
    layoutSubviews、drawRect、initialize和load方法的调用
    (转)iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
    Mac OS10.10 openfire无法启动问题(转)
  • 原文地址:https://www.cnblogs.com/hackerl/p/4783707.html
Copyright © 2020-2023  润新知