T A*_*T A 1 python algorithm indexing for-loop
我有一个包含数千行的文本文件,其中包含一些字符串,该字符串在某个位置包含一个唯一的标识符 - 以及我想要过滤的标识符列表。
我想从此文件中提取包含过滤器列表中的任何标识符的所有行。目前我正在用两个嵌套循环解决这个问题:
found = []
for identifier in ids:
with open("file.txt", 'r') as f:
for line in f.readlines():
if identifier in line:
found.append(line)
Run Code Online (Sandbox Code Playgroud)
然而,这非常慢,因为我运行了两个嵌套循环,并且标识符列表和文本文件都很大。python 中是否有一种智能、更高效的方法可以在小于O(n^2)的时间内解决这个问题?
更多信息和限制:
重新排序代码应该会加快速度,这样您只需读取文本文件一次。
f = open("demofile.txt", "r")
mylines = f.readlines()
found = []
for line in mylines:
for identifier in ids:
if identifier in line:
found.append(line)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2881 次 |
| 最近记录: |