#1.3 保存最后N个元素
from collections import deque
def search(lines,pattern,history=5):
previous_lines=deque(maxlen=history)
for line in lines:
if pattern in line:
yield line,previous_lines
previous_lines.append(line)
# with open('test13.txt') as f:
# for line, prevlines in search(f,'python',5):
# for pline in prevlines:
# print(pline,end='')
# print(line,end='')
# print('-'*20)
#deque(maxlen=3)创建了一个固定长度的队列,当有新记录加入而队列已满时会自动移除最老的那条记录
# q=deque(maxlen=3)
# q.append(1)
# q.append(2)
# print(q)
# q.append(3)
# q.append(4)
# print(q) #此时队列会将最老的1移除,打印出deque([2, 3, 4], maxlen=3)
q=deque()
q.append(1)
q.append(2)
q.append(3)
print(q)
q.appendleft(4) #在最左边也就是第一个位置添加4
print(q)
q.pop() #移除最右边的元素
print(q)