首先,如果这太天真了,请道歉(我是初学者)。我有以下类型的列表列表,我想首先按内部列表的最后一个成员按升序排序:
data = [[1, .45, 0], [2, .49, 2], [3, .98, 0], [4, .82, 1], [5, .77, 1], [6, .98, 2] ]
我通过使用 : 来实现这一点sorted(data,key=operator.itemgetter(2),reverse = True)
,这给了我:
[[1, .45, 0], [3, .98, 0],[4, .82, 1], [5, .77, 1], [2, .49, 2], [6, .98, 2]]
现在,我想在子列表中进行排序,即首先使用中间成员作为键,以降序对列表的最后一个成员为“0”进行排序。然后以“1”作为最后一个成员对子列表进行排序,依此类推。请注意,每个子列表中的元素数量不同且未知。最终列表应如下所示:
[[3, .98, 0],[1, .45, 0], [4, .82, 1], [5, .77, 1], [6, .98, 2],[2, .49, 2] ]
该列表实际上非常庞大,因此我正在寻找一个有效的实现。任何指导将不胜感激 !