เมื่อจำเป็นต้องจัดเรียงเมทริกซ์ตามผลรวมสูงสุดของอาร์เรย์ย่อยขนาด 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 ถูกกำหนดและแสดงบนคอนโซล
-
รายการจะถูกจัดเรียงตามวิธีการที่กำหนดไว้ก่อนหน้านี้
-
เอาต์พุตจะแสดงบนคอนโซล