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