以下是一个示例代码,演示如何按照多列中的值对2D数组进行排序:
def sort_2d_array(arr):
# 定义排序的规则函数
def sort_key(item):
return (item[0], item[1]) # 这里按照第一列升序排序,第二列升序排序
# 使用排序规则函数对数组进行排序
sorted_arr = sorted(arr, key=sort_key)
return sorted_arr
# 测试示例
array = [[3, 2], [1, 4], [2, 3], [1, 2], [3, 1]]
sorted_array = sort_2d_array(array)
print(sorted_array)
输出结果:
[[1, 2], [1, 4], [2, 3], [3, 1], [3, 2]]
在这个示例中,我们定义了一个名为sort_key
的排序规则函数,它返回一个元组,包含每个子列表中要进行排序的列的值。然后,我们使用sorted()
函数对2D数组进行排序,并传入排序规则函数作为key
参数。最后,返回排序后的数组。
在这个示例中,我们按照第一列升序排序,如果第一列的值相同,则按照第二列升序排序。你可以根据实际需求自定义排序规则函数来实现按照多列中的值进行排序。
上一篇:按照多列中的任何共享值进行分组