在Python 3中创建排行榜时,排行榜必须从最高到最低排序

时间:2019-05-04 16:18:25

标签: arrays python-3.x database dictionary text-files

我需要在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

2 个答案:

答案 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])