我想按列表中每个元素的最大索引0和索引1对列表进行排序。

例如,如果我有一个这样的列表:

[[2,1,2],
 [0,3,9],
 [1,2,9],
 [1,1,2],
 [3,2,7]]

排序后,它应如下所示:

[[0,3,9],
 [3,2,7],
 [2,1,2],
 [1,2,9],
 [1,1,2]]

那么什么是有效的方法呢?

我更喜欢使用numpy,但也欢迎使用其他解决方案。

#1楼 票数:5 已采纳

取前两列的逐行最大值argsort,然后取反以得到降序。

您尚未指定任何决胜局,因此这与所需的输出不匹配。 换句话说,没有独特的解决方案可以解决您的问题。

res = A[A[:, :2].max(1).argsort()[::-1]]

array([[3, 2, 7],
       [0, 3, 9],
       [1, 2, 9],
       [2, 1, 2],
       [1, 1, 2]])

#2楼 票数:2

只需使用带有自定义键功能的sort

data = [[2,1,2],[0,3,9],[1,2,9],[1,1,2],[3,2,7]]


data.sort(key=lambda x: max(x[0:2]),reverse=True)

  ask by Ashar7 translate from so

未解决问题?本站智能推荐:

2回复

根据第0个列表的argsort对嵌套列表中的列表进行排序

根据列表中的第一个列表对列表嵌套进行排序的最巧妙的方法是什么? 排序之前 经过排序 到目前为止,我已经使用搜索找到了可以用来排序的索引 但是我还没有找到一种在sort_index上为两个子列表建立索引的pythonic方法。 有什么想法吗? 谢谢!
1回复

在python中维护分层排序的列表

我不确定“分层”是否是解决此问题的正确方法,但我打算将一系列整数列表保留在2D numpy数组中,需要按照以下方式进行排序: 因此,对第一个列表进行排序,然后将第二个列表分解为元素的小节,这些元素在第一个列表中都具有相同的值,并对这些小节进行排序,依此类推。 最初,每个列表将仅包含
4回复

如何对numpy数组列表进行排序?

我想将4x4数组划分为四个2x2数组的列表。 这个 应该分为四个区块 因此,如果我访问块1,则应该为[2,3],[6,7] 。 我写了这个方法: 将数组划分为 即我得到的块1为[8, 9], [12, 13] 。 代码输出: 有什么方法可以对
1回复

使用np.sort无法按升序对较大数组中的数组元素进行排序

由于我正在使用多种功能,因此我将仅显示与该阵列一起使用的代码。 首先,这些是来自通过排名过滤器进行的试验的数据。 现在,分割试验后的结果是: 之后我得到 那我做 这给我 但是,我的目标是使每个内部数组元素都按升序排序。 如果有人可以帮
5回复

从排序列表中获取大于给定数字的第一个元素

我有两个清单。 列表B就像一个数据库,我需要逐个比较列表A的每个元素。 让我们说 B是一个排序列表,因此对于每个A [i],只要算法在B中找到一个> = A [i]的数字,它就应该将其作为输出返回。 所以我的输出应该类似于: 能否请您建议最简单的解决方案,尽可能避免嵌
2回复

按前 n 行对二维数组进行排序

如何按前两行对 NumPy 中的数组进行排序? 例如, 我想按前两行对列进行排序,这样我就回来了: 谢谢!
1回复

通过仅保留所有数组中存在的数字来过滤一组数组? [复制]

这个问题在这里已经有了答案: NumPy:比较两个数组中的元素(6 个答案) 去年关闭。 我有两个充满对象 ID
1回复

按其他两个列表对 Python (numpy) 中的数组进行排序

我有一个向量数组(或者为简单起见,你可以假设我有一个数组)基于一些计算我制作了 2 个不同的数组,它们的第一个数组的大小相同,其中包含 0 和 1 之间的数字(对于第一个数组的每个索引,第二个数组)和包含汉明距离的第三个数组)现在我想同时根据第二个和第三个数组对第一个数组进行排序。 由于第二个和第三