首页 > 解决方案 > Python按包含的元素对数组进行排序?

问题描述

我正在寻找一个列表列表并按包含列表中包含的元素对它们进行排序。为了澄清起见,我想要一个像这样的代码列表

myList = []
myList.append([1, 2, 3])
myList.append([1, 1, 1])
myList.append([1, 3, 2])

然后按每个包含列表的最后一个元素对列表的元素进行排序,最终看起来像这样

           |
myList = ( v
    [1, 2, 3],
    [1, 3, 2],
    [1, 1, 1])

我还在这个项目中导入了 numpy 库。我正在查看 argsort 的 numpy 但我认为您不能沿元素的轴对其进行排序

标签: pythonarrayspython-3.xlistnumpy

解决方案


首先不要list用作变量名,因为它是python内置函数之一,其次您可以使用sorted函数按位置排序

l = []
l.append([1, 2, 3])
l.append([1, 1, 1])
l.append([1, 3, 2])
sorted(l,key = lambda x : x[2])
#[[1, 1, 1], [1, 3, 2], [1, 2, 3]]

推荐阅读