2016-08-25 86 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]]