You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python从给定学生姓名与分数列表中查找第三高分数及对应学生姓名

解决方法:找出第三大分数及对应学生

嘿,我来帮你搞定这个问题!咱们一步步拆解需求,用Python实现对应的操作~

1. 找出第三大的分数

这里要注意重复分数只算同一个等级(比如例子里的三个80,不能当成三个不同的高分),所以正确的步骤是:

  • 先把分数列表转成集合去重,消除重复值的干扰
  • 将去重后的分数按从大到小排序
  • 取排序后的第3个元素(Python索引从0开始,所以对应索引2)

代码示例:

names = ["Andi", "Budi", "Charlie", "Dilan", "Echa"]
scores = [80, 80, 80, 100, 90]

# 去重并按降序排序
unique_sorted_scores = sorted(set(scores), reverse=True)
# 获取第三大的分数
third_highest_score = unique_sorted_scores[2]
print(f"第三大的分数是:{third_highest_score}")

如果担心极端情况(比如所有分数都相同,去重后不足3个),可以加个容错判断:

if len(unique_sorted_scores) >= 3:
    third_highest_score = unique_sorted_scores[2]
else:
    print("分数种类不足3个,无法找到第三大分数")

2. 找出拥有第三高分数的学生

拿到目标分数后,只需要同时遍历姓名和分数列表,把分数匹配的学生名字收集起来即可:

代码示例:

# 收集对应学生姓名
students_with_third_highest = [name for name, score in zip(names, scores) if score == third_highest_score]
print(f"拥有第三高分数的学生是:{students_with_third_highest}")

把两段代码整合后运行,会输出:

第三大的分数是:80
拥有第三高分数的学生是:['Andi', 'Budi', 'Charlie']

内容的提问来源于stack exchange,提问作者Hana Mufida Nur Azizah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 16:17:46