在Python

时间:2015-08-05 01:01:31

标签: python

我有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)。这减少了搜索次数,但我确信有一些东西比这种方法快得多。

0 个答案:

没有答案