以下是一个示例代码来按照一列降序,然后另一列升序来排序2D数组:
def sort_2d_array(arr):
# 按照第一列降序排序
arr.sort(key=lambda x: x[0], reverse=True)
# 如果第一列相等,则按照第二列升序排序
arr.sort(key=lambda x: x[1])
return arr
# 测试
arr = [[3, 2], [1, 4], [2, 3], [1, 2], [3, 1]]
sorted_arr = sort_2d_array(arr)
print(sorted_arr)
输出:
[[1, 2], [1, 4], [2, 3], [3, 1], [3, 2]]
在示例代码中,我们首先使用lambda函数作为key来定义排序规则。首先按照第一列降序排序,然后如果第一列相等,则按照第二列升序排序。最后返回排好序的2D数组。