根据 Mathematica 中的一行对矩阵进行排序

Sort a matrix according to one row in Mathematica

我是 Mathematica 的新手,我遇到了一个可能很愚蠢的问题。

我有一个矩阵{{1,1,1,2,2,2,2,2},{-1,0,1,-2,-1,0,1,2}},我想对第二行进行排序,但同时对第一行元素的位置进行排序。

因此,数组将变为{{2,1,2,1,2,1,2,2},{-2,-1,-1,0,0,1,1,2}}。我希望清楚。你知道我该如何继续吗?

提前致谢。

list = {{1, 1, 1, 2, 2, 2, 2, 2}, {-1, 0, 1, -2, -1, 0, 1, 2}}

然后

{list[[1]][[Ordering[list[[2]]]]], Sort[list[[2]]]}

给出您正在寻找的输出。

为了将来参考,您可能需要考虑在 https://mathematica.stackexchange.com.

上发布 Mathematica 问题

另一种方法:

SortBy[Transpose[data],Last]//Transpose

{{2, 1, 2, 1, 2, 1, 2, 2}, {-2, -1, -1, 0, 0, 1, 1, 2}}