【发布时间】:2016-04-04 15:05:24
【问题描述】:
我一直在绞尽脑汁想弄清楚:
for line in test:
x = line.split()
y = int(x[1])
x.append({"Average":str(y)})
print(x)
它的作用是将行 Average:y 附加到,例如 James 20 30 0 50
然后它将打印给用户James 0 0 0 0 {Average: 0}
这是我的问题:
我的文本文档包含多个不同的名称和数字,如下所示:
James 20 0 0 0 0
Harrison 7 0 0 0 0
George 9 0 0 0 0
如果有多个数字大于 0,我还可以计算平均值。 当我附加那个平均值时:y,我想根据他们的'y'对整个列表进行排序 所以如果是:
James 20 0 0 0 0 {Average: 20}
Harrison 7 0 0 0 0 {Average: 7}
George 9 0 0 0 0 {Average: 9}
Oliver 10 5 6 0 0 {Average: 7}
它会变成:
Harrison 7 0 0 0 0 {Average: 7}
Oliver 10 5 6 0 0 {Average: 7}
George 9 0 0 0 0 {Average: 9}
James 20 0 0 0 0 {Average: 20}
我无法弄清楚如何执行此操作,因为我将每一行逐一附加,因此如果我尝试使用 sort 命令对其进行排序,它将不起作用。我所做的是追加第一行-> 打印它-> 追加第二行-> 依此类推.... 如何根据附加的平均值对该列表进行排序?感谢阅读和帮助!
【问题讨论】:
标签: python sorting python-3.3