Python中关联两个列表并查找最高分学生(禁用max()函数)
解决方法
先确保两个列表的元素是一一对应的,我们可以通过遍历手动找出最高分及对应学生:
Array_student = ["Joe", "Peter", "Andy", "Tom", "Pat"] Array_marks = [14, 9, 6, 8, 12] # 初始化最高分和对应学生,取第一个元素作为初始值 highest_mark = Array_marks[0] top_student = Array_student[0] # 从第二个元素开始遍历对比 for student, mark in zip(Array_student[1:], Array_marks[1:]): if mark > highest_mark: highest_mark = mark top_student = student print(f"最高分学生:{top_student},分数:{highest_mark}")
逻辑说明
- 先把第一个学生的分数设为初始最高分,对应学生也设为第一个
- 用
zip同时遍历剩余的学生和分数,逐个对比当前分数与记录的最高分 - 若当前分数更高,就更新最高分和对应学生
- 最后输出结果
内容的提问来源于stack exchange,提问作者Osama Ajmal
相关产品推荐
相关产品推荐

