Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

filter() ใน python คืออะไร?


ด้วยวิธีการกรอง เราจะกรององค์ประกอบเฉพาะของรายการโดยใช้เงื่อนไขการกรองที่กำหนดไว้ในฟังก์ชันที่แยกจากกัน ดังนั้นเราจึงสร้างฟังก์ชันที่ผู้ใช้กำหนดขึ้นก่อน ซึ่งจะกล่าวถึงเกณฑ์การกรอง ฟังก์ชันนี้และรายการที่ให้มาร่วมกันจะถูกนำมาเป็นพารามิเตอร์ของฟังก์ชันตัวกรองเพื่อให้ได้ผลลัพธ์

ไวยากรณ์

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