duque函数有一个 maxlen 参数,当append的时候,如果超过,那么最前面的就会被挤出队列 from collections import duque def search(lines, pattern, lens=5): previous_lines = deque(maxlen=lens) for li ..

python collections duque 函数演示

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)
展开
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    340 引用 • 491 回帖 • 661 关注
12 回帖   
请输入回帖内容...
  • Sunnnner  

    服务器问题 = = 或者是网络问题,我的不是很卡

  • 其他回帖
  • kafuly

    真棒

    2 回复
  • Sunnnner        

    trollface

  • mathors  

    老哥,感觉博客有点卡....,可能是我电脑太水了?😰

    1 回复
  • 查看更多回帖