results.txt
Alan: 15 points.
Smith: 10 points.
Luka: 20 points.
预期打印:
Luka: 20 points.
Alan: 15 points.
Smith: 10 points.
代码:
def print_results():
with open("results.txt", "r") as f:
linija=f.readlines()
linija=sorted(linija,key=itemgetter(1),reverse=True)
print("######### HALL OF FAME #########\n")
for line in linija:
print line
print("################################")
需要帮助,如何获得这些要点并按它们排序?
答案 0 :(得分:1)
您可以在阅读时拆分每一行,然后按结果列表中的int
值进行排序。然后,使用' '.join
打印输出,以字符串形式返回
with open("results.txt", "r") as f:
linija=[i.split() for i in f.readlines()]
linija = sorted(linija,key=lambda x: int(x[1]),reverse=True)
print("######### HALL OF FAME #########\n")
for line in linija:
print(' '.join(line))
print("################################")
输出:
######### HALL OF FAME #########
Luka: 20 points.
Alan: 15 points.
Smith: 10 points.
################################