读入文本文件并按格式输出

题目:在文本文件scores.txt中保存了一些专业的课程平均分,如下图所示:
专业 C语言 Java Python C# Javascript
软件工程 95 96 85 63 91
计算机科学与技术 75 93 66 85 88
网络工程 86 76 96 93 67

编写一个Python程序,读入文本文件scores.txt中的数据,存放在二维列表中,并输出所有专业的分数;计算每个专业的最高分和最低分,按输出格式要求输出每个专业的名称、最高分、最低分以及对应的课程名(已知没有同分的情况);输出格式参照下图:
专业 C语言 Java Python C# Javascript
软件工程 95 96 85 63 91
计算机科学与技术 75 93 66 85 88
网络工程 86 76 96 93 67
专业:软件工程 最低分('Java',96) 最低分(‘C#’,63)
专业:计算机科学与技术 最高分(‘Java',93) 最低分('Python’, 66)
专业:网络工程 最高分('Python‘,96) 最低分(’Javascript‘,67)

解法∶从文件中逐行读入,每行找到最大最小输出即可。
代码比较简洁,速度快

with open('scores.txt', 'r') as f:
    titles = f.readline().split()
    lines = [line.split() for line in f]
    for line in lines:
        scores = list(map(int, line[1:]))
        minIndex = scores.index(min(scores)) + 1
        maxIndex = scores.index(max(scores)) + 1
        print(f"专业:{line[0]} 最高分('{titles[maxIndex]}',{line[maxIndex]}) 最低分('{titles[minIndex]}',{line[minIndex]})")
with open('scores.txt','r') as f:
    data = f.readlines()

lst = [d.split() for d in data]

head = lst[0]
scores = [ [s[0]]+[int(s[i+1]) for i in range(len(s)-1)] for s in lst[1:] ]

for i in [head]+scores:
    print(*i)

for score in scores:
    smax, smin = max(score[1:]),min(score[1:])
    dic = {n:head[i] for i,n in enumerate(score)}
    print(score[0],f"最高分('{dic[smax]}',{smax}) 最低分('{dic[smin]}',{smin})")

'''输出结果:
专业 C语言 Java Python C# Javascript
软件工程 95 96 85 63 91
计算机科学与技术 75 93 66 85 88
网络工程 86 76 96 93 67
软件工程 最高分('Java',96) 最低分('C#',63)
计算机科学与技术 最高分('Java',93) 最低分('Python',66)
网络工程 最高分('Python',96) 最低分('Javascript',67)
'''