numpy数组按行的绝对值排序



我想按行的绝对值对数组进行排序例如

r = [[2, 3],
[-3, 2],
[-2, 1]]

到这个

r = [[-2, 1],
[2, 3],
[-3, 2]]

如果绝对值相同,我希望它按行值排序我可以为这个这样的列表做这个

r.sort(key = lambda x:(abs(x[0]), x[0]))

您希望按每个数组中绝对值的总和排序,然后按第一个元素排序:

sorted(r, key=lambda x: (np.abs(x).sum(), -x[0]))

输出:

[[-2, 1], [2, 3], [-3, 2]]

最新更新