2016-11-09 50 views
-1

說完看着蟒蛇3文檔,我想嘗試類似的東西交換嵌套列表的Python 3

nested_list = [ 
(1,4,7,10), 
(2,5,8,11), 
(3,6,9,12), 
] 
sorted(nested_list, key=lambda nes: nes[0]) 

print(nested_list) 

我希望清單作爲輸出:

[(2, 5, 8, 11), (1, 4, 7, 10), (3, 6, 9, 12)] 

而是將其輸出爲:

[(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)] 

這是一樣的!

我使用Python 3.5.1順便說一句。

+0

好的,你排序的第一個元素的列表。這是正確的順序。應該如何排序列表? –

+0

您希望的輸出的排序標準是什麼? 「排序」就是這樣做的,排序。 –

+0

什麼這麼難理解? TallChuck明白了 –

回答

0

'key'參數需要一個函數,並且該函數在迭代時作爲參數傳遞給數組的每個元素。在nested_list

sorted(nested_list, key=lambda nes: nes[0]) 

着眼於每一個元組,將其分配給nesnes[0]進行排序。如果你想基於別的東西對它進行排序,說每個數組的最後一個索引,你將其更改爲

sorted(nested_list, key=lambda nes: nes[-1]) 

如果你想要做的是交換的nested_list前兩元組,我只想建議說

nested_list[0], nested_list[1] = nested_list[1], nested_list[0] 
+0

謝謝!有效!!!事實證明,我只是想交換前兩個元組哈哈 –

+0

如果我嘗試用字符串它不起作用,我得到一個類型錯誤? –

+0

你使用了什麼命令? – TallChuck