ฟังก์ชัน filter

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

ในวัตถุจะเหลือเพียงองค์ประกอบที่ ทำให้ callback คืนค่า True

ผลลัพธ์ที่ได้จากฟังก์ชันคือ วัตถุที่วนซ้ำได้ชนิดพิเศษ สามารถ แปลงมันเป็นลิสต์ได้โดยใช้ ฟังก์ชัน list

ไวยากรณ์

pythonfilter(ฟังก์ชัน, วัตถุสำหรับการกรอง)

ตัวอย่าง

มาใช้การกรองลิสต์ต้นทางเพื่อให้ได้ลิสต์ที่ประกอบด้วย เพียงองค์ประกอบคู่กัน:

pythonlst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 == 0, lst)
print(list(res))

ผลลัพธ์จากการรันโค้ด:

python[2, 6, 8]

ตัวอย่าง

คราวนี้มากรองเฉพาะองค์ประกอบคี่กัน:

pythonlst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 != 0, lst)
print(list(res))

ผลลัพธ์จากการรันโค้ด:

python[3, 15]

ดูเพิ่มเติม

  • เมธอด sort,
    ซึ่งเรียงลำดับองค์ประกอบของลิสต์
  • ฟังก์ชัน sorted,
    ซึ่งคืนค่าลิสต์ที่เรียงลำดับจาก วัตถุที่วนซ้ำได้
  • ฟังก์ชัน map,
    ซึ่งวนซ้ำวัตถุที่วนซ้ำได้