给出第一印象:deque是一个双向队列
from collections import deque a = deque()
a = deque(maxlen = 30) #限制长度 a.append(1) a.append(2) a.appendleft(3) print(a) Out[8]: deque([3, 1, 2])
a.clear() Out[11]: deque([])
调用clear方法后,此时与刚创建时的状态一致
a.pop() Out[37]: 2 a Out[38]: deque([3, 1])
可见pop弹出最右端元素,pop里无多余参数
a=deque([1,2,3,4,5]) a.popleft() Out[42]: 1 a Out[43]: deque([2, 3, 4, 5])
popleft弹出最左元素
a=deque([2,2,2,3,4,5,6]) a.count(2) Out[49]: 3
a.extend([2,3]) Out[57]: deque([2, 2, 2, 3, 4, 5, 6, 2, 3]) a.append([2,3]) Out[59]: deque([2, 2, 2, 3, 4, 5, 6, 2, 3, [2, 3]])
a Out[66]: deque([2, 2, 2, 3, 4, 5, 6, 2, 3, [2, 3]]) a.index(3) Out[67]: 3 a.index(3,2,5) Out[68]: 3
但是index只能返回找到的第一个元素的索引
a.insert(2,'s')
运行后,'s'的索引为2
a.remove(2)
删除指定元素,但是只从左至右删除一个
a=deque([1,2,3,4,5]) a.reverse() a Out[80]: deque([5, 4, 3, 2, 1])
reverse反转
a=deque([1,2,3,4,5]) a.rotate(3) a Out[89]: deque([3, 4, 5, 1, 2])
把最后(n)个元素放在前面,但没有翻转顺序