ในระหว่างการวิเคราะห์ข้อมูลโดยใช้ python เราพบสถานการณ์มากมายที่เราต้องกรององค์ประกอบออกจากรายการที่ตรงตามเกณฑ์บางอย่าง ในบทความนี้ เราจะมาดูวิธีรับองค์ประกอบจากรายการที่มากกว่าองค์ประกอบแต่เล็กที่สุดในบรรดาองค์ประกอบดังกล่าวทั้งหมดซึ่งมากกว่าองค์ประกอบที่กำหนด
มีขั้นต่ำ
เราออกแบบ for loop เพื่อผ่านแต่ละองค์ประกอบของรายการในขณะที่ตรงตามเกณฑ์ทั่วไปของค่าที่มากกว่า k จากนั้นสำหรับองค์ประกอบดังกล่าวทั้งหมด เราใช้ฟังก์ชัน min เพื่อรับค่าต่ำสุด
ตัวอย่าง
listA = [1,5,6, 7,11,14] # Original list print("Given list : ",listA) k = 8 # using min res = min(i for i in listA if i > k) # Result print("Missing elements from the list : \n" ,res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Minimum element gerater than k : 11
มีฟิลเตอร์
ที่นี่เราใช้ฟังก์ชันแลมบ์ดาเพื่อรับองค์ประกอบที่มีค่ามากกว่า K จากนั้นใช้ฟังก์ชันตัวกรองเพื่อรับเฉพาะค่าเหล่านั้น สุดท้ายใช้ฟังก์ชัน min เพื่อรับค่าต่ำสุดจากรายการนี้
ตัวอย่าง
listA = [1,5,6, 7,11,14] # printing original list print("Given list : ",listA) k = 8 # using min res = min(filter(lambda i: i > k, listA)) # Result print("Minimum element gerater than k : \n" ,res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Minimum element gerater than k : 11
กับ bisect_right
ฟังก์ชัน bisect_right มีอยู่ในโมดูล bisect มันแบ่งรายการที่จุดที่มากกว่าหรือเท่ากับค่าพารามิเตอร์ที่กำหนดให้กับมัน ในตัวอย่างนี้ เรานำรายการ เรียงลำดับ แล้วใช้ฟังก์ชัน bisect_right เราได้รับดัชนีขององค์ประกอบที่มากกว่าค่าที่ต้องการ
ตัวอย่าง
from bisect import bisect_right listA = [1,5,6, 7,11,14] # printing original list print("Given list : ",listA) k = 8 listA.sort() # Using bisect_right res = listA[bisect_right(listA, k)] # Result print("Minimum element gerater than k : \n" ,res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Minimum element gerater than k : 11