ฟังก์ชัน filter() ใช้กรององค์ประกอบในลิสต์ตามเงื่อนไขที่กำหนดในฟังก์ชันผู้ใช้ ก่อนอื่นสร้างฟังก์ชันที่ระบุเกณฑ์การกรอง แล้วนำฟังก์ชันนั้นและลิสต์ไปเป็นพารามิเตอร์ของ filter()
รูปแบบไวยากรณ์ (Syntax)
filter(filter_function, sequence)
ตัวอย่าง: กรองเลขคี่
สร้างฟังก์ชันคืนค่า True สำหรับเลขคี่ (กรองเลขคู่ทิ้ง)
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
ตัวอย่าง: กรองสระ (Vowels)
กรองตัวอักษรสระจากลิสต์อักษร
letters = ['t','u','t','o','r','i','a','l','s']
def get_vowels(c):
if c in ['a','e','i','o','u']:
return True
else:
return False
vowel_list = filter(get_vowels, letters)
for w in vowel_list:
print(w)
ผลลัพธ์
u
o
i
a