![](/img/trans.png)
[英]How do I turn this string into a list, and then make it have a max line length in python 3.3?
[英]How do I sort a list that I have appended to in Python 3.3
我一直绞尽脑汁试图解决这个问题:
for line in test:
x = line.split()
y = int(x[1])
x.append({"Average":str(y)})
print(x)
这样做的是它附加了行平均值:y,作为一个例子,詹姆斯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命令对其进行排序则不起作用。 我所做的是追加第一行 - >打印它 - >追加第二行 - >等......我怎么能根据附加的平均值对这个列表进行排序? 感谢您的阅读和帮助!
经过测试,希望它有效。 您可以使用追加功能获得更多项目。
test = ["Harrison 20 0 0", "George 40 0 0", "Zohan 30 0 0"]
foo = []
for line in test:
x = line.split()
y = int(x[1])
foo.append({"Name":x[0],"Average":str(y)})
print(x)
sorted_x = sorted(foo)
print sorted_x
问题是你在循环中打印。 首先整理结果,然后排序,然后打印。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.