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

Python中如何从已排序的分数列表中仅显示前5名高分?

解决方法:获取并显示前5名高分

嘿,我来帮你快速搞定这个问题!你已经完成了文件读取和排序的核心步骤,只差两个小调整就能拿到前5名高分啦:

1. 把排序改成降序

你当前的排序是升序(分数从低到高排列),这样最前面的是最低分,我们需要把它改成从高到低排序。只需要在sort()方法里加上reverse=True参数就行。

2. 截取前5个元素

排序完成后,用Python的切片语法[:5]就能轻松获取列表的前5个元素——哪怕文件里的分数条目不足5个,这个写法也不会报错,只会返回所有现有条目,非常安全。

修改后的完整代码

ScoresFile2 = "/Users/KADAM BOYS/Desktop/Ishaan's Folder/Homework (Year 10)/Computing/Mock Project/Scores.txt"
ScoresWithNames = []
with open(ScoresFile2) as file2:
    for line in file2:
        ScoresWithNames.append(line.strip())

# 改成降序排序,按分数从高到低排列
ScoresWithNames.sort(key=lambda x: int(x.split(" - ")[-1]), reverse=True)

# 获取前5名高分并打印
top_5_scores = ScoresWithNames[:5]
print("前5名高分:")
for score in top_5_scores:
    print(score)

额外小提示

如果你想简化代码,也可以把最后两步合并成一行直接打印:

for score in ScoresWithNames[:5]:
    print(score)

这样运行后,就能看到按分数从高到低排列的前5名啦!

内容的提问来源于stack exchange,提问作者Ishaan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 11:17:30