【发布时间】:2015-06-16 13:01:13
【问题描述】:
我已经能够使用函数将 csv 文件转换为列表格式。这样做时,我能够为班级编号分配一个名称,然后是 3 个附加编号,例如:
在 csv 文件中:
Hussain 1 7 8 0
Alexandra 1 0 0 2
成为:
['Alexandra', 2],['Hussain', 8]
由于排序方法要求按字母顺序排列姓名和该人的最高分。我使用元组完成了上面的代码,并想继续使用元组。 现在我希望能够对其进行排序,使其从最高平均值变为最低,例如,平均值的排序方法将导致:
[Hussain, 1.66666666667],[Alexandra, 0.6666666666]
这些数字是我所期望的,因为它们是 csv 文件中最后三个数字的平均值,因为此处忽略了第二列。由于侯赛因的平均成绩最高,因此他排在第一位。我会很感激任何可能的帮助。
我想做的事情如下:
我希望能够按平均数从高到低的顺序打印出所有学生。由于 Hussain 的平均值较高,为 1.6,因此他首先被打印出来,然后 Alexandra 被打印出来,因为她的平均值较低。这两个学生来自同一个班级(在 csv 文件的第二列中显示),当用户选择要排序的班级 1 时将打印出来。
TIA
【问题讨论】:
-
你想要什么?只需要从最高平均值排序到最低值?需要你想要的输入和输出样本
-
是的,没错,我想对用户选择的类进行排序。选择的班级需要从最高平均数到最低平均数进行排序。样本将是第 1 类中的 Hussain 和 Alexandra。因此,当用户选择第 1 类时,它将仅按该类中的最高到最低平均值排序。希望这更有意义。
标签: sorting csv python-3.x