Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

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("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)

출력

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]]

설명

  • 목록을 매개변수로 사용하는 'sort_matrix_K'라는 메서드가 정의되어 있습니다.

  • 목록을 반복하고 인덱스를 결정하고 특정 인덱스의 합계를 가져오고 이러한 값의 최대값을 가져옵니다.

  • 이것은 출력으로 반환됩니다.

  • 메소드 외부에서 목록의 목록이 정의되어 콘솔에 표시됩니다.

  • K 값이 정의되어 콘솔에 표시됩니다.

  • 목록은 이전에 정의된 방법에 따라 정렬됩니다.

  • 출력은 콘솔에 표시됩니다.