如何在Python中连接列表的相应元素

时间:2015-11-12 22:59:33

标签: python

我的文件名为ids.txt,文件名为names.txt

在我们看到的ids.txt文件中:

23
422
5123
642
8743

names.txt文件的内容:

jon1
jon2
jon3
jon4
jon5

我想这样排序:

23 jon1
422 jon2
5123 jon3
642 jon4
8743 jon5;

当它排序时,最后一个设置就像这样

8743 jon5;

我正在做的是:

IDs = file("IDs.txt").read().splitlines()
names = file("names-specialitys.txt").read().splitlines()
for i in IDs:
    for n in names:
        print i, n

但它打印出来像这样:

23 jon1
422 jon1
5123 jon1
642 jon1
8743 jon1
23 jon2

...等

2 个答案:

答案 0 :(得分:4)

您可以zip一起列出。

for i, n in zip(IDs, names):
    print i, n

要以不同方式显示最后一行,您可以在压缩列表之前对其进行切片。然后分别打印最后一行。

for i, n in list(zip(IDs[:-1], names[:-1]):
    print("{} {}".format(i, n))
print("{} {};".format(IDs[-1], names[-1]))

答案 1 :(得分:1)

" Zip" y说明:

Python内置了一个很棒的zip()函数。它需要2个列表,并将每个项目与项目中同一点的项目连接起来。

实施例

a = b = c = range(20)
zip(a, b, c) #=> [(0, 0, 0), (1, 1, 1), ... (18, 18, 18), (19, 19, 19)]

您的解决方案:

for i, n in zip(IDs, names):
    print i + " " + n