Python - 按 K 大小的子数组最大和对矩阵进行排序
当需要按k大小的子数组最大和对矩阵进行排序时,定义了一种使用'amx'和'sum'方法并迭代列表的方法。
示例
下面是相同的演示
def sort_marix_K(my_list): return max(sum(my_list[index: index + K]) for index in range(len(my_list) - K)) my_list = [[51, 23, 4, 24, 1], [45, 6, 26, 36, 5], [56, 16, 6, 36, 8], [5, 4, 36, 26, 26]] print("名单是:") print(my_list) K = 4 print("K的值是 ") print(K) my_list.sort(key=sort_marix_K) print("结果列表是:") print(my_list)输出结果
名单是: [[51, 23, 4, 24, 1], [45, 6, 26, 36, 5], [56, 16, 6, 36, 8], [5, 4, 36, 26, 26]] K的值是 4 结果列表是: [[5, 4, 36, 26, 26], [51, 23, 4, 24, 1], [45, 6, 26, 36, 5], [56, 16, 6, 36, 8]]
解释
定义了一个名为“sort_matrix_K”的方法,它将列表作为参数。
它遍历列表并确定索引并获取特定索引的总和,并获取这些值的最大值。
这作为输出返回。
在该方法之外,定义了一个列表列表并显示在控制台上。
K的值被定义并显示在控制台上。
该列表根据之前定义的方法进行排序。
输出显示在控制台上。