使用输入作为键从文本文件创建数组

Create array from text file using the input as keys

我是 Python 的新手,我试图寻找解决方案。

我有两个文件。一个有 1.573.553 个整数,例如:

2990003032
2390058393
2390059146
2320205495
2320205497
2320206150
2320206151
2320206152
2320206153
2320206154
...

另一个文件有 1.645.637 行,一个字符串和一个整数,用“;”分隔喜欢:

AS An1;4601094657
AS An1;4601094658
AS An1;4601127943
AS An1;4601127986
AS An2;4601127987
AS An2;4601127988
AS An3;4601127993
AS An3;4601127994
AS An3;4601127996
AS An3;4601127997
...

现在我想使用第一个文件值创建一个数组。 然后我想使用第二个文件的值 作为键 和字符串作为值来创建第二个数组。

所有这一切都是为了遍历第一个数组并检查整数是否作为键存在于第二个数组中,如果存在,则将值和键写入一个新文件,以“;”分隔。因为 grep 会花很长时间。

我的问题是我如何创建第二个数组,我在其中遍历拆分为“;”的每一行并将第二部分用作数组中的键,将第一部分用作值。

非常感谢任何帮助,我想一旦看到解决方案就很简单。

你可以像这样实现

文件:test.txt

AS An1;4601094657
AS An1;4601094658
AS An1;4601127943
AS An1;4601127986
AS An2;4601127987
AS An2;4601127988
AS An3;4601127993
AS An3;4601127994
AS An3;4601127996
AS An3;4601127997

代码:

with open("test.txt") as fp:
    lines = fp.readlines()
    print dict((x.split(';')[1][:-1], x.split(';')[0]) for x in lines)