เมื่อจำเป็นต้องเรียงลำดับแถวด้วยจำนวน K หลายเท่า จะมีการกำหนดวิธีการที่ใช้การทำความเข้าใจรายการและตัวดำเนินการโมดูลัส
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
def multiple_sort_val(row):
return len([ele for ele in row if ele % K == 0])
my_list = [[11, 44, 7, 11], [7, 5, 44, 11], [11, 6, 35, 44], [92, 92, 5]]
print("The list is :")
print(my_list)
K = 11
print("The value for K is ")
print(K)
my_list.sort(key=multiple_sort_val)
print("The resultant list is :")
print(my_list) ผลลัพธ์
The list is : [[11, 44, 7, 11], [7, 5, 44, 11], [11, 6, 35, 44], [92, 92, 5]] The value for K is 11 The resultant list is : [[92, 92, 5], [7, 5, 44, 11], [11, 6, 35, 44], [11, 44, 7, 11]]
คำอธิบาย
-
มีการกำหนดวิธีการที่ใช้รายการเป็นพารามิเตอร์
-
มันใช้ความเข้าใจรายการและวิธีการ 'len' เพื่อตรวจสอบว่าทุกรายการหารด้วยค่าเฉพาะของ K ส่งผลให้เป็น 0 เป็นส่วนที่เหลือหรือไม่
-
ขนาดของรายการนี้จะถูกส่งคืนเป็นเอาต์พุต
-
นอกเมธอด รายการของรายการถูกกำหนดและแสดงบนคอนโซล
-
ค่า K ถูกกำหนดและแสดงบนคอนโซล
-
รายการถูกจัดเรียงโดยใช้วิธีการ 'sort' โดยการระบุคีย์เป็นวิธีการที่กำหนดไว้ก่อนหน้านี้
-
นี่คือเอาต์พุตที่แสดงบนคอนโซล