如何在python

时间:2018-05-16 05:49:55

标签: python

a1.txt文件包含显示学生ID和作业标记的数据:

2345 | 8

9798 | 7

student.txt文件包含显示学生ID,名字,姓氏的数据:

2345 |欢乐|史密斯

9798 |彼得|琼斯

所以,从这两个文件中,我需要提交作业的学生的输出。

输出将是:

2345 roy,smith,8
9798 peter,jones,7

如何在python中获得以上输出?

2 个答案:

答案 0 :(得分:3)

尝试这样的事情:

with open('a1.txt', 'r') as file1, open('student.txt', 'r') as file2:
    list_1 = file1.readlines()
    list_2 = file2.readlines()
    for i in list_1:
        i = i.split('|')
        for j in list_2:
            j = j.split('|')
            if i[0] == j[0]:
                print(i[0], j[1], j[2].replace('\n', ''), i[1].replace('\n', ''), sep=",")  

答案 1 :(得分:0)

将其中一个列表转换为dict以进行有效查找:

>>> dict1 = {k: v for (k, *v) in list1}
>>> result = [[k, *v, *dict1[k]] for (k, *v) in list2 if k in dict1]
>>> result
[['2345', 'roy', 'smith', '8'], ['9798', 'peter', 'jones', '7']]