其他分享
首页 > 其他分享> > 保留最后N个元素

保留最后N个元素

作者:互联网

1. collections中的deque函数可以进行匹配,并返回匹配的最后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)

使用deque(maxlen=N)时,会形成一个新的固定的队列,当新的元素加入并且队满时,最老的元素就会被替代。

例如:

b = deque(maxlen=3)
b.append(1)
b.append(2)
b.append(3)
print(b)  ##deque([1, 2, 3])
b.append(4)
print(b) ##deque([2, 3, 4])

deque可以用在任何一个简单队列数据结构的场合如果不设置大小,队列可以无限大

 

 

标签:deque,保留,元素,最后,maxlen,line,lines,append,previous
来源: https://www.cnblogs.com/zengjirong/p/16427143.html