2015-11-19 110 views
0

打印列表我有一個生成4個數字,並將其添加到列表中的程序。每個列表的項目清單自身,尋找類似:以特定的順序

[['+', 1, 1, 9, 9], ['+', 2, 1, 4, 4]] 
[['+', 2, 1, 10, 10], ['+', 3, 1, 5, 5]] 
[['+', 1, 1, 6, 6], ['+', 3, 1, 11, 11]] 
[['-', 1, 1, 9, 9], ['-', 2, 1, 4, 4]] 

我想打印出來,這樣最後一個數字是按降序(如果它同最後一個數字,那麼它使用第三個數字按降序排列)。

到目前爲止我的代碼是:

for i in self.result: 
     sorted(self.result, key=itemgetter(4), reverse = True) 
     print("{}{:d} {:>5d}..{:>5d} {:>5d}\n" .format(i[0],i[1],i[2],i[3],i[4])) 

的問題是,這似乎並不在一個有序的方式來打印他們所有,所以我不知道我要去的地方錯了。

+0

你似乎在頂部有** 4名**名單?這是你的意圖嗎? –

回答

1

sorted()返回一個新的列表,你不捕捉。您需要slist = sorted(...)oldlist.sort(...)。後一種情況分類。

排序,只要你想,用這個:

​​
+0

謝謝!因此,我可以設置一個排序規則(對於我來說,使用第4位數字)。我怎樣才能添加另一條規則,如果有2個相同的第4位數字,那麼第3位數字越大的第一個呢? – lamazibiji

+0

@lamazibiji:它已經這樣做了。它按整個內部列表進行排序,但其項目相反。 –