以下是按列对二维整数数组进行排序的一个解决方法的代码示例:
def sort_array_by_column(arr):
num_cols = len(arr[0]) # 获取二维数组的列数
# 创建一个新的二维数组,并复制原始数组的值
sorted_arr = [row[:] for row in arr]
# 对每一列进行排序
for col in range(num_cols):
sorted_arr.sort(key=lambda x: x[col])
return sorted_arr
# 测试示例
arr = [[3, 2, 1], [6, 5, 4], [9, 8, 7]]
sorted_arr = sort_array_by_column(arr)
print(sorted_arr)
输出结果:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
这个方法使用了Python的sort
函数和lambda表达式来对每一列进行排序。首先,我们获取到二维数组的列数,然后创建一个新的二维数组sorted_arr
,并复制原始数组的值。接下来,我们使用lambda表达式作为sort
函数的key
参数,该lambda表达式用来指定排序的依据,这里是根据每一列的值进行排序。最后,返回排序后的二维数组sorted_arr
。