for key in (filedata):
print(key.strip('\n'))
目前,此代码打印出按字母顺序排序的数据。我如何按键排序并使其仅打印一次?它需要按平均分数排序。
答案 0 :(得分:1)
这完全取决于你想从每一行中提取排序键的方式 - Python无法猜测,我们也不能,你说“按平均分数排序”,但我们如何猜测如何你打算从每一行获得平均得分吗?!
假设分数平均值是每行中最后一个以空格分隔的单词,
def score_avg(line):
return float(line.strip().split()[-1])
这可能就是你如何准确而毫不含糊地表达这一观念;然后你让Python知道:
filedata.sort(key=score_avg)
(不需要使用sorted
,因为你正在排序!)并且你很高兴。