a1.txt文件包含显示学生ID和作业标记的数据:
2345 | 8
9798 | 7
student.txt文件包含显示学生ID,名字,姓氏的数据:
2345 |欢乐|史密斯
9798 |彼得|琼斯
所以,从这两个文件中,我需要提交作业的学生的输出。
输出将是:2345 roy,smith,8
9798 peter,jones,7
如何在python中获得以上输出?
答案 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']]