ด้วยวิธีการกรอง เราจะกรององค์ประกอบเฉพาะของรายการโดยใช้เงื่อนไขการกรองที่กำหนดไว้ในฟังก์ชันที่แยกจากกัน ดังนั้นเราจึงสร้างฟังก์ชันที่ผู้ใช้กำหนดขึ้นก่อน ซึ่งจะกล่าวถึงเกณฑ์การกรอง ฟังก์ชันนี้และรายการที่ให้มาร่วมกันจะถูกนำมาเป็นพารามิเตอร์ของฟังก์ชันตัวกรองเพื่อให้ได้ผลลัพธ์
ไวยากรณ์
filter(filter_function, sequence)
ตัวอย่าง
ในตัวอย่างด้านล่าง เราสร้างฟังก์ชันที่จะค้นหาเลขคู่ในรายการ แล้วมันก็จะทิ้งมันไป (คืนค่าเท็จ) เลขคี่ที่เหลือจะถูกเพิ่มเข้าในรายการสุดท้าย เราสามารถปรับเปลี่ยนฟังก์ชันนี้เพื่อกรองตัวเลขที่หารด้วย 3 หรือ 5 หรือมากกว่านั้นออกได้
num_list = [6,17, 32, 11, 21, 132] def remove_even(x): if x%2 ==0 : return False else: return True odd_nos = filter(remove_even, num_list) for x in odd_nos: print(x)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
17 11 21
ตัวอย่าง
เราสามารถใช้วิธีการเดียวกันนี้ในการกรองสระออกจากรายการตัวอักษรที่กำหนด ที่นี่
letters = ['t','u','t','o','r','i','a','l','s'] def get_vowels(c): if c in ['a','e','i','o','o']: return True else: return False vowel_list = filter(get_vowels, letters) for w in vowel_list: print(w)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
u o i a