我需要在python 3中创建一个排行榜,排行榜的数据在一个外部的'.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
答案 0 :(得分:1)
在这里,假设您提供的数据在名为sort-test.txt的文件中,没有标题:
SQL> select role, owner, table_name, privilege
2 from role_Tab_privs;
ROLE OWNER TABLE_NAME PRIVILEGE
--------------- ---------- ---------- ----------
RL_SCOTT_SEL SCOTT BONUS SELECT
RL_SCOTT_SEL SCOTT EMP SELECT
SQL>
答案 1 :(得分:1)
我已经改进了@ kdq0代码,现在它将排序混合的两位数,一位数字和一位负数。我还缩短了代码。编写此代码是假设文本文件名为“ Results.txt”
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])