def multi_search(pat_file : open, text_file : open) -> {str:[int]}:
answer = {(p.rstrip(),re.compile(p.rstrip())):[] for p in pat_file}
for num,line in enumerate(text_file,1):
line = line.rstrip()
for (p,c),lines in answer.items():
if c.search(line) != None:
lines.append(num)
return {p:l for (p,c),l in answer.items()}
该函数有两个列表,但我不确定函数返回的是什么,图中显示了两个列表。
有人可以向我解释这个功能有什么作用以及它是如何工作的?
答案 0 :(得分:0)
对于第一个文件中的每个模式,该函数查找包含给定模式的第二个文件中的所有行号。返回包含pattern --> list of line numbers
的字典。