2种方法实现python多维数组排序

在 Python 中,可以使用 sorted()numpy 库中的排序函数来对多维数组进行排序。以下是两种实现方法的示例代码:

方法一:使用 sorted() 函数

# 创建一个二维数组
my_list = [[4, 5, 6], [1, 2, 3], [7, 8, 9]]

# 对二维数组按第一列元素升序排列
new_list = sorted(my_list, key=lambda x: x[0])

print(new_list)  # 输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

在这个使用 sorted() 函数示例代码中,我们首先创建了一个二维数组 my_list。要对该数组进行排序,我们使用了 sorted() 函数,并指定了一个 key 参数来指定排序方式。例如,如果要按照第一列元素升序排列,可以使用 lambda x: x[0] 的方式来指定排序关键字。

方法二:使用 numpy 库中的排序函数

import numpy as np

# 创建一个二维数组
my_list = np.array([[4, 5, 6], [1, 2, 3], [7, 8, 9]])

# 对二维数组按第一列元素升序排列
new_list = my_list[my_list[:, 0].argsort()]

print(new_list)  # 输出:[[1 2 3]
                 #      [4 5 6]
                 #      [7 8 9]]

在这个使用 numpy 库中的排序函数示例代码中,我们导入了 numpy 库,并使用其中的排序函数来对多维数组进行排序。具体来说,我们使用了 argsort() 函数来获取按照第一列元素升序排列的下标索引,然后再将这些下标用于重新排列原始数组。

请注意,这两种方法都可以选择不同的排序方式来对多维数组进行排序,只需要适当修改 key 参数或调整排序函数的输入参数即可。

 
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定