1.3保存最后N个元素

#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)
 


posted @ 2020-08-26 12:16  RoseLv  阅读(161)  评论(0)    收藏  举报