Skip to main content
 首页 » 编程设计

python之根据子列表中的元素对列表进行排序

2025年05月04日16birdshome

我有一个由多个子列表组成的简单列表,如下所示:

a = [[4, 3, 2, 1], [5, 8, 7, 6], [12, 11, 10, 9]] 

我需要根据子列表 a[1] 中的元素降序排序,这样它会像这样:

sorted_a = [(3, 2, 1, 4), (8, 7, 6, 5), (11, 10, 9, 12)] 

我试过使用排序:

sorted_a = sorted(a, key=lambda x: -x[2]) 

但它返回:

[[12, 11, 10, 9], [5, 8, 7, 6], [4, 3, 2, 1]] 

这根本不是我需要的。

请您参考如下方法:

所以你真的想对子列表进行排序?

zip(*sorted(zip(*a), key=lambda x: -x[1]))