Sorting 如何从文本文件中打印前5名分数

Sorting 如何从文本文件中打印前5名分数,sorting,Sorting,我有一个外部文本文件,我在其中以以下形式存储名称和分数: (名称)有(分数-整数)分 例如: 鲍勃得了25分 我想打印的行,因为他们是,但只有在降序从最高分数 换句话说,我希望打印与文本文件中相同的行,但在行中按从最高到最低的整数(分数)排序。我还想限制打印行数,这意味着只打印降序的分数 我已经尝试了很多方法,但最终我能得到的只是有引号和括号的分开的名字和分数,但我的目标是按原样打印这些行 有人能帮我吗?直接对行排序,使用分数作为排序的键: path = "leaderboard.txt" wi

我有一个外部文本文件,我在其中以以下形式存储名称和分数:

(名称)有(分数-整数)分

例如:

鲍勃得了25分

我想打印的行,因为他们是,但只有在降序从最高分数

换句话说,我希望打印与文本文件中相同的行,但在行中按从最高到最低的整数(分数)排序。我还想限制打印行数,这意味着只打印降序的分数

我已经尝试了很多方法,但最终我能得到的只是有引号和括号的分开的名字和分数,但我的目标是按原样打印这些行


有人能帮我吗?

直接对行排序,使用分数作为排序的键:

path = "leaderboard.txt"
with open(path, 'r') as f:
    file_lines = f.readlines()

file_lines.sort(key=lambda line: int(line.split()[2]), reverse=True)

print(''.join(file_lines[:5]))

很抱歉,你不能这样做,所以我将问题回滚到原来的状态:)@Mark你不能删除任何内容,代码在你文章的修订历史记录中仍然可见。只有MOD才能在特殊情况下执行此操作。Thierry,
文件中的行
已被
'\n
终止,请使用
''连接它们。连接(…
欢迎使用Stack Overflow!请查看。以后,请提供一个包含输入数据、预期输出、实际输出的示例,并解释当前代码不符合您的需要的原因。有关其他建议,请参阅。