我有一个外部文本文件,我在其中以以下形式存储名称和分数:
(name) 有 (score - integer) 点
一个例子是:
鲍勃有25分
我想按原样打印这些行,但只能按最高分的降序排列。
换句话说,我想打印与文本文件中相同的行,但按行中从最高到最低的整数(分数)排序。我还想限制打印的行,这样就意味着只打印降序的分数。
我尝试了很多方法,但我最终只能得到带有引号和括号的分隔名称和分数,但我的目标是按原样打印行。
有人可以帮我解决这个问题吗?
直接对行进行排序,使用分数作为关键字sort
:
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]))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句