เมื่อต้องการดึงสมาชิกที่จำนวนตัวหาร (factors) น้อยกว่าหรือเท่ากับ K สามารถใช้ฟังก์ชันช่วยที่มี list comprehension และ modulus ได้
ตัวอย่าง
def factors(element, K):
return len([index for index in range(1, element + 1) if element % index == 0]) <= K
my_list = [63, 112, 168, 26, 68]
print("The list is :")
print(my_list)
K = 5
print("The value for K is ")
print(K)
my_result = [element for element in my_list if factors(element, K)]
print("The result is :")
print(my_result)
ผลลัพธ์
The list is : [63, 112, 168, 26, 68] The value for K is 5 The result is : [26]
คำอธิบาย
กำหนดฟังก์ชัน
factorsนับตัวหารของ element (จาก 1 ถึง element) ที่หารลงตัว (element % index == 0) แล้วเปรียบเทียบจำนวนกับ Kกำหนดลิสต์ตัวเลขและค่า K
ใช้ list comprehension กรองสมาชิกที่ผ่านฟังก์ชัน factors
แสดงผลลัพธ์ (26 มีตัวหาร 1,2,13,26 = 4 ตัว ≤ 5)