我将 2 个文件与初始标识符列、起始值和结束值进行比较。第二个文件包含相应的标识符和另一个值列。
前任。
文件 1:
A 200 900
A 1000 1200
B 100 700
B 900 1000
文件 2:
A 103
A 200
A 250
B 50
B 100
B 150
我想从第二个文件中找到包含在第一个文件中找到的范围内的所有值,以便我的输出如下所示:
A 200
A 250
B 100
B 150
现在我已经从第一个文件中创建了一个包含范围列表的字典:例如。
if Identifier in Dictionary:
Dictionary[Identifier].extend(range(Start, (End+1)))
else:
Dictionary[Identifier] = range(Start, (End+1))
然后我浏览第二个文件并在范围字典中搜索值:例如。
if Identifier in Dictionary:
if Value in Dictionary[Identifier]:
OutFile.write(Line + "\n")
虽然这对于相对较小的文件来说不是最佳的,但是我有几个大文件,而且这个程序被证明是非常低效的。我需要优化我的程序,使其运行得更快。