我需要在Python3中创建一个引导板,引导板的数据在一个外部的'.txt‘文件中。此外,排行榜必须从最高到最低排序。另外,你能不能以一种干净的排行榜格式来整理它--没有方括号、曲线括号和额外的逗号。我想也许可以使用数组或字典,但我真的不确定如何使用它
#this is a relevant snippet of my code
f = open("scores.txt", "r")
content = f.read()
content.sort()
print(content)#this is the text file with the names and scores
Muaadh: 5
Yasir: 6
Zaim: 7
Ishfaq: 5
Tanzeel: 87
Hamzah: 3
Muhammed: 5
Muaadh: 6
Yasir: 5发布于 2019-05-07 02:41:18
我已经改进了@kdq0代码,现在它可以对双位、单位和负数混合排序。我还缩短了假定文本文件名为'Results.txt‘的code.This代码。
import csv
with open('Results.txt', newline='') as f:
readData = csv.reader(f, delimiter= ':')
sortScores = sorted(readData, key=lambda i: int(i[1]), reverse=True)
for row in sortScores:
print(row[0] +":" +row[1])发布于 2019-05-05 01:02:20
在这里,假设您给出的数据在一个名为sort-test.txt的文件中,没有头文件:
import csv
with open('sort-test.txt', newline='') as f:
data = [{k: v for k, v in row.items()} for row in csv.DictReader(f, delimiter=':', fieldnames=['name', 'score'], quoting=csv.QUOTE_NONE)]
sorted_data = sorted(data, key = lambda i: i['score'], reverse=True)
for x in sorted_data:
print (x['name'] + ': ' + x['score'])https://stackoverflow.com/questions/55984468
复制相似问题