เมื่อต้องการเรียงลำดับแถวตามตัวคูณของ K จะนิยามฟังก์ชันที่ใช้ List Comprehension และตัวดำเนินการ modulus (เศษ)
ตัวอย่าง
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]]
คำอธิบาย
นิยามฟังก์ชันที่รับรายการเป็นพารามิเตอร์
ใช้ List Comprehension และเมธอด
len()เพื่อนับจำนวนสมาชิกที่หารด้วย K ลงตัว (เศษเท่ากับ 0)คืนค่าจำนวนสมาชิกที่เป็นตัวคูณของ K
นอกจากฟังก์ชัน กำหนดรายการของรายการและแสดงผล
กำหนดค่า K และแสดงผล
เรียงลำดับรายการด้วยเมธอด
sort()โดยระบุ key เป็นฟังก์ชันที่นิยามไว้แสดงผลลัพธ์บนคอนโซล