我有2个大文件。一个包含范围:
1234 2345 CA
2346 2567 FL
2568 3000 VA
....
第二个具有未必订购的值:
2569
1235
2347
...
第一个文件中的值是有序的。第一行中的第二个元素小于第二行中的第一个值,依此类推。
我需要将第二个文件中的值映射到第一个文件中的间隔并获取状态。例如,结果应为:
2569 VA
1235 CA
2347 FL
我尝试了天真的方法并从元组列表中的第一个文件解析了所有元组,然后逐个搜索第二个文件中每个元素所属的区间。结果非常缓慢。另一种方法是:
with open(file2) as f:
for line in f:
mylist.append(line.rstrip())
由于文件2中可能存在重复项,因此我创建了一个集合:myset=set(mylist)
。这减少了搜索次数,但我确信有一些东西比这种方法快得多。