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

如何在Python中连接列表的相应元素,python,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; 23 jon1 422 jon1 5123 jon1 642 jon1 8743 jon1 23 jon2 最后一个排序后,就这样设置 8743 jon5;

我有一个文件名为
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;
23 jon1
422 jon1
5123 jon1
642 jon1
8743 jon1
23 jon2
最后一个排序后,就这样设置

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 jon2
5123 jon3
642 jon4
8743 jon5;
23 jon1
422 jon1
5123 jon1
642 jon1
8743 jon1
23 jon2
。。。etc

“Zip”y解释: Python内置了一个很棒的
zip()
函数。它包含2个列表,并在数组中的同一点将每个项与该项联接

例子: 您的解决方案: 你可以把这些清单放在一起

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]))

zip
两个列表。在你的问题中,你说的是“排序”,但列表[22、422、5123、642,…]没有排序(不管是升序还是降序!)。我想你的意思是你想把两个列表中的项目配对在一起。我怎样才能知道这个文件的最后一行,并在打印的末尾设置“;”,就像在末尾这样:8743 jon5;