collections是python的高级容器类库,包含了dict、truple之外的常用容器。
下面介绍常用的deque
1. deque是双端队列,可以从两端塞元素进去,也可以从两端取元素。
2. deque是线程安全的,可以用来做多线程的共享资源,我也是因为这个开始接触duque的
>>> from collections import deque >>> a = [1, 2, 3, 4] 用列表初始化deque >>> deq = deque(a) >>> deq deque([1, 2, 3, 4]) 往deque中迭代入队列表原始 >>> deq.extend(a) >>> deq deque([1, 2, 3, 4, 1, 2, 3, 4]) 从右端入队元素 >>> deq.append(5) >>> deq deque([1, 2, 3, 4, 1, 2, 3, 4, 5]) 从左端输入元素 >>> deq.appendleft(6) >>> deq deque([6, 1, 2, 3, 4, 1, 2, 3, 4, 5]) 从右端出队 >>> deq.pop() 5 从左端出队 >>> deq.popleft() 6 >>> deq deque([1, 2, 3, 4, 1, 2, 3, 4]) 从左往右旋转 >>> deq.rotate(-2) >>> deq deque([3, 4, 1, 2, 3, 4, 1, 2]) 从右往左旋转 >>> deq.rotate(2) >>> deq deque([1, 2, 3, 4, 1, 2, 3, 4]) 从文件输出到deque 比如,输入文件的倒数3行,得到大小为3的队列 >>> a = deque(open(‘test.txt‘), 3) >>> a deque([‘5\n‘, ‘6\n‘, ‘7\n‘], maxlen=3)
时间: 2024-10-16 23:03:07