2013-05-02 65 views
0

因此,我有一個二維列表(如列表中的列表),我試圖根據它們的第三個元素來查找大內部列表。Python - 基於內部列表的某些部分的最大2d列表

這是我到目前爲止,但它只返回j[2],而不是整個列表j其中j[2]是最大的。

big = max([int(j[2]) for j in cur2]) 

我希望它做的是從每個列表的返回cur2依賴於int(j[2])

大小整個內部最大列表請不要參考this question,因爲我不真正理解如何將這個答案應用於我的情況。

回答

2

試試這個:

max(cur2, key=lambda x:int(x[2])) 

例子:

>>> cur2=[range(4),range(4,8),range(2,6)] 
>>> cur2 
[[0, 1, 2, 3], [4, 5, 6, 7], [2, 3, 4, 5]] 
>>> max(cur2, key=lambda x:int(x[2])) 
[4, 5, 6, 7] 
+0

謝謝! :D那解決了它。另外,如果你可以給我一個關於關鍵參數的更深入描述的鏈接,那很好。 – 2013-05-02 03:13:32

+0

@EthanBrouwer當使用'key'時,迭代項的比較是根據key中函數返回的值進行的。 – 2013-05-02 03:20:01

+0

+1很好的解決方案 – jamylak 2013-05-02 04:44:07