2016-04-03 68 views
-1

我得到一個錯誤的輸出[[1, 3, 2, 0, 0], [3, 2, 0, 0], [2, 0, 0], [0, 0], [0]]如何從列表中打印?

任何人都可以修復它,我卡在這裏?

if __name__=="__main__": 
    row = [[4, 6, 5, 3, 3], [2, 4, 3, 1, 1], [4, 6, 5, 3, 3], [3, 5, 4, 2, 2], [1, 3, 2, 0, 0], [1, 3, 2, 0, 0]] 
    for x in row: 
     diff2 = [(x[z:]) for z in range(len(row)-1)] 
    print(diff2) 

輸出

[[4, 6, 5, 3, 3], [4, 3, 1, 1], [5, 3, 3], [2, 2], [0]] 
+1

在什麼順序?請更具描述性。 – idjaw

+0

第一個列表中刪除無,第二個列表刪除第二個列表中的第一個元素,第三個列表刪除第三個列表中的第一個和第二個元素,第四個列表刪除第四個列表中的第一個,第二個和第三個元素 – Joe

+1

Joe,不要假設我們知道,你想達到什麼。解釋預期的結果。 –

回答

3

如果我明白你想要什麼:

>>> print([r[i:] for i, r in enumerate(row)]) 
[[4, 6, 5, 3, 3], [4, 3, 1, 1], [5, 3, 3], [2, 2], [0], []] 

,或者如果你不希望最後一個列表

>>> print([r[i:] for i, r in enumerate(row[:-1])]) 
[[4, 6, 5, 3, 3], [4, 3, 1, 1], [5, 3, 3], [2, 2], [0]] 

如果你想爲切碎清單排序的實際要素:

>>> print([sorted(r[i:]) for i, r in enumerate(row[:-1])]) 
[[3, 3, 4, 5, 6], [1, 1, 3, 4], [3, 3, 5], [2, 2], [0]] 

排序排序:

>>> print(sorted([sorted(r[i:]) for i, r in enumerate(row[:-1])])) 
[[0], [1, 1, 3, 4], [2, 2], [3, 3, 4, 5, 6], [3, 3, 5]] 
+0

感謝它的工作,我不需要它排序,因爲我正在實現一個算法,我需要索引 – Joe