标签:
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.
insert, remove 或者 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‘])
python 数据结构 初学时没太注意却发现很有用的点点滴滴
标签:
原文地址:http://www.cnblogs.com/hackerl/p/4783707.html