2024-04-27 05:14:36 发布
网友
我想按列表中每个元素的第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,但也欢迎其他解决方案。你知道吗
只需将sort与自定义键函数一起使用:
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)
取前两列的行最大值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]])
只需将
sort
与自定义键函数一起使用:取前两列的行最大值argsort,然后反转以获得降序。你知道吗
您尚未指定任何连接断路器,因此这与所需的输出不匹配。换句话说,你的问题没有唯一的解决办法。你知道吗
相关问题 更多 >
编程相关推荐