这个查询与此前有关Python排序的查询有点相关,链接如下:sorting。需要对以下列表进行排序:
现在,我想根据外部列表中这些元素的顺序进行排序。也就是说,如果外部列表为List_1,则需要按照List_1中元素的顺序对data进行排序。
最后,根据中间元素进行降序排序的子列表应该是这样的:
有关如何处理这个问题,您有什么建议吗?
data = [[1, .45, 0], [2, .49, 2], [3, .98, 0], [4, .82, 1], [5, .77, 1], [6, .98, 2] ]
首先按照内部列表的最后一个元素的值进行排序,如下所示:
[[1, .45, 0], [3, .98, 0],[4, .82, 1], [5, .77, 1], [2, .49, 2], [6, .98, 2]]
然后在子列表内部进行排序,即首先使用中间成员作为键对具有最后一个成员为“0”的列表进行排序,按降序排列,然后对具有最后一个成员为“1”的子列表进行排序,以此类推。现在,我想根据外部列表中这些元素的顺序进行排序。也就是说,如果外部列表为List_1,则需要按照List_1中元素的顺序对data进行排序。
`List_1 = [2, 0, 1]`
排序应该产生
[[2, .49, 2], [6, .98, 2] [1, .45, 0], [3, .98, 0], [4, .82, 1], [5, .77, 1]]
最后,根据中间元素进行降序排序的子列表应该是这样的:
[ [6, .98, 2],[2, .49, 2], [3, .98, 0], [1, .45, 0], [4, .82, 1], [5, .77, 1]]
有关如何处理这个问题,您有什么建议吗?