按第二个值对 np 数组进行排序

如果我想对这个由 声明的数组进行排序, np.zeros((50),dtype=object)并且我想按第一个值对这个数组进行排序,

[list([2, 5]) list([3, 0]) list([2, 7]) list([3, 1]) list([11, 2])]

喜欢

[list([2, 5]) list([2, 7]) list([3, 0]) list([3, 1]) list([11, 2])]

我应该用什么?我一直在尝试sort()等等sorted()..


莫回无
浏览 84回答 1
1回答

拉丁的传说

如果数组中的所有列表都具有相同的长度,您可以使用 numpy lexsort (a是您的数组):a = np.array(a)a[np.lexsort((a[:,-1],a[:,-2]))]#[[ 2  5]# [ 2  7]# [ 3  0]# [ 3  1]# [11  2]]或等价:a[np.lexsort(a.T[::-1,:])]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python