文件为:course_student_grade_input.txt
文件数据如下:
语文,101,小张,94 语文,102,小王,54 语文,103,小李,78 语文,104,小赵,98 语文,105,小强,89 数学,101,小张,53 数学,102,小王,83 数学,103,小李,99 数学,104,小赵,90 数学,105,小强,77 英语,101,小张,88 英语,102,小王,80 英语,103,小李,90 英语,104,小赵,89 英语,105,小强,98
# key:course, value:grade list course_grades = {} # 把数据读取在字典里 with open("course_student_grade_input.txt", encoding="utf-8") as fin: # 读取文件 for line in fin: # 遍历每一行 line = line[:-1] # 去除换行符 course, sno, sname, grade = line.split(",") # 用,隔开 if course not in course_grades: # 判断是否存在 course_grades[course] = [] course_grades[course].append(int(grade)) # 将course传到列表里 print(course_grades) for course, grades in course_grades.items(): # 遍历字典 print( course, max(grades), min(grades), sum(grades) / len(grades), )
结果为: