2015-12-01 194 views
-1

我有這樣的列表和標量的列表:排序列表

a = [[[3, -4.241], 9] 
[[6, -4.187], 1] 
[[2, -4.215], 4] 
[[9, -4.238], 5]] 

,我需要通過降第一個列表的第一個參數的順序,這樣的排序:

[[[9, -4.238], 5] 
[[6, -4.187], 1] 
[[3, -4.241], 9] 
[[2, -4.215], 4]] 

這不起作用: 排序(A,鍵=拉姆達X:X [0] [0])

什麼是實現這一目標的正確方法?

+0

是否總是1和表1個標?列表總是有2個值嗎?然後一個元組更適合。 – Felk

+0

確實總是1個列表和1個標量,而列表總是有2個值。一個元組確實會更好,但如果可能的話,我寧願不必改變它。 – Rodolphe

+0

您的解決方案適用於我:http://goo.gl/KCGPrd。你的輸出是什麼?你期望什麼? – Felk

回答

2
>>> help(sorted) 
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list 

您必須解決的方向:

sorted(pareto, key=lambda x: x[0][0], reverse=True) 
+0

替代方法只是反轉鍵:'key = lambda x:-x [0] [0]' – Felk