Python – Sort Matrix by K Sized Subarray Maximum Sum


When it is required to sort matrix by k sized subarray maximum sum, a method is defined that uses the ‘amx’ and ‘sum’ methods and iterates over the list.

Example

Below is a demonstration of the same

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("The list is :")
print(my_list)

K = 4
print("The value of K is ")
print(K)
my_list.sort(key=sort_marix_K)

print("The resultant list is :")
print(my_list)

Output

The list is :
[[51, 23, 4, 24, 1], [45, 6, 26, 36, 5], [56, 16, 6, 36, 8], [5, 4, 36, 26, 26]]
The value of K is
4
The resultant list is :
[[5, 4, 36, 26, 26], [51, 23, 4, 24, 1], [45, 6, 26, 36, 5], [56, 16, 6, 36, 8]]

Explanation

  • A method named ‘sort_matrix_K’ is defined that takes a list as a parameter.

  • It iterates through the list and determines the index and gets the sum of specific indices, and gets the maximum of these values.

  • This is returned as output.

  • Outside the method, a list of list is defined and is displayed on the console.

  • The value of K is defined and displayed on the console.

  • The list is sorted based on the previously defined method.

  • The output is displayed on the console.

Updated on: 20-Sep-2021

158 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements