在Python空闲中排序和打印文本文件

时间:2014-11-23 18:04:16

标签: python file sorting

  • 我有一个文本文件,其中包含2列数据(学生姓名和分数),以':'分隔(见下文)
  • 我希望用户能够通过名称按字母顺序对文本文件进行排序,并打印出这些已排序的数据以及它们对IDLE的最高相应分数
  • 我还希望为用户提供从最高到最低排序分数的选项,并将其与其名称一起打印出来
  • 最后,我想让他们根据每个学生的平均分数从最高到最低排序和打印数据。

文字文件

Alex:2
Steve:3
Andy:4
Wallace:6
Andy:3
Andy:5
Dan:1
Dan:0
Steve:3

我试图将名称添加到列表中,然后对数值数据进行排序,但我没有运气。

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

只是为了让你开始:

您需要关联名称和分数。像(名字,分数)这样的元组会起作用。因此,您可以像这样处理文件:

gradebook = list()
with open('scores.txt') as infile:
    for line in file:
        line = line.split(':').rstrip()
        gradebook.append((line[0], line[1]))

现在您可以按任意一列对成绩册进行排序。 (查看内置排序)

如果你想与普通人一起工作,我想你会发现最容易实现的方法就是使用dict。