![](/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.