双向队列和普通队列略有不同,其两端都支持进队和出队操作,Python中有一个双向队列的内置模块 deque.
1)创建队列:queue=deque()
2)进队:append()
3)出队:popleft()
4)双向队首进队:appendleft()
5)双向队尾出队:pop()
6)队满自动覆盖
代码示例
from collections import deque q = deque() q.append(1) q.append(2) q.append(3) print(q) # deque([1, 2, 3]) print(q.popleft()) # 1 print(q.pop()) # 3 q.appendleft(4) print(q) # deque([4, 2]) # 队满覆盖 q = deque([1, 2, 3, 4, 5], 3) print(1) # deque([3, 4, 5], maxlen=3)
tail函数
以下我们写一个简单的例子,用 queue 封装一个读取文件后n行的函数。
# text.txt abc def ghi
tail函数
from collections import deque def tail(n): with open('text.txt', 'r') as f: q = deque(f, 2) return q print(tail(2)) # deque(['def\n', 'ghi'], maxlen=2)
本文为 陈华 原创,欢迎转载,但请注明出处:http://ichenhua.cn/read/304
- 上一篇:
- Sklearn人脸识别PCA特征矩阵逆转
- 下一篇:
- Sklearn用PCA降维后做数字识别