2016-08-25 84 views
0

的名單上有列出的這份名單:排序列表

data = [['john','1','2', 2.45434], ['jack','1.3','2.2', 4.45434], 
     ['josh','2','3', 3.45434]] 

我想在每個內部列表的最後十進制數來排序。我怎樣才能做到這一點?

+0

在你的情況下,索引是'-1'而不是'1',但是這個概念和重複的一樣。 – zondo

回答

1

您可以在sorted功能指定key爲子列表的最後一個元素:使用lambda功能

sorted(data, key = lambda x: x[-1]) 

# [['john', '1', '2', 2.45434], 
# ['josh', '2', '3', 3.45434], 
# ['jack', '1.3', '2.2', 4.45434]] 
0

您可以通過list.sort()功能排序現有的「數據」名單爲:

data = [['john','1','2', 2.45434],['jack','1.3','2.2', 4.45434], ['josh','2','3', 3.45434]] 
data.sort(key=lambda x: x[-1]) 
# data = [['john', '1', '2', 2.45434], ['josh', '2', '3', 3.45434], ['jack', '1.3', '2.2', 4.45434]]