我有一个由多个子列表组成的简单列表,如下所示:
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]))
