duque
函数有一个 maxlen 参数,当 append
的时候,如果超过,那么最前面的就会被挤出队列
from collections import duque def search(lines, pattern, lens=5): previous_lines = deque(maxlen=lens) for li in lines: if pattern in li: yield li, previous_lines previous_lines.append(li) if __name__ == '__main__': with open(r'./xx.txt') as f: for line, prevlines in search(f, 'python', 5): for pline in prevlines: print(pline, end='') print(line, end='') print('**' * 20)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于