Python 中特定顺序的矩阵排序
Matrix sorting in specific order in Python
我有一个 171x5 的矩阵,其中第二列包含从 0 到 170 顺序排列的数字和每个这样的数字对应的三个值。
第一列是按所需顺序排列的值。我想按照第一列中显示的顺序对矩阵进行排序。
#A
[[ 15 0 1.124 8.822 1.010]
[ 10 1 8.228 -9.960 2.537]
...
[ 25 170 9.495 -1.187 -6.590]]
The output should be:
#B
[[ 15 15 4.185 8.822 9.895]
[ 10 10 7.225 -7.929 8.589]
...
[ 25 25 2.455 -5.145 -7.597]]
假设您有一个矩阵 A,您希望按其第一列对其进行排序。
您可以使用标准 Python 函数进行排序并传递定义排序顺序的关键参数。
作为参数传递的 lambda 函数将从每行中选择第一个元素作为键,键将用于排序顺序
sorted(A, key = lambda x: x[0])
我有一个 171x5 的矩阵,其中第二列包含从 0 到 170 顺序排列的数字和每个这样的数字对应的三个值。 第一列是按所需顺序排列的值。我想按照第一列中显示的顺序对矩阵进行排序。
#A
[[ 15 0 1.124 8.822 1.010]
[ 10 1 8.228 -9.960 2.537]
...
[ 25 170 9.495 -1.187 -6.590]]
The output should be:
#B
[[ 15 15 4.185 8.822 9.895]
[ 10 10 7.225 -7.929 8.589]
...
[ 25 25 2.455 -5.145 -7.597]]
假设您有一个矩阵 A,您希望按其第一列对其进行排序。
您可以使用标准 Python 函数进行排序并传递定义排序顺序的关键参数。
作为参数传递的 lambda 函数将从每行中选择第一个元素作为键,键将用于排序顺序
sorted(A, key = lambda x: x[0])