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

时间:2015-02-25 08:25:03

标签: python arrays fromfile

我是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需要永远。

我的问题是我如何创建第二个数组,在那里我遍历每一行分裂&#39 ;;'并使用第二部分作为数组中的键,第一部分作为值。

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

1 个答案:

答案 0 :(得分:0)

您可以实施

file: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)