บางครั้งเรามาถึงสถานการณ์ที่เรามีสองรายการและเราต้องการตรวจสอบว่าแต่ละรายการจากรายการขนาดเล็กมีอยู่ในรายการที่ใหญ่กว่าหรือไม่ ในกรณีเช่นนี้ เราจะใช้ฟังก์ชัน filter() ตามที่อธิบายด้านล่าง
ไวยากรณ์
Filter(function_name, sequence name)
ที่นี่ Function_name เป็นชื่อของฟังก์ชันที่มีเกณฑ์การกรอง ชื่อลำดับคือลำดับที่มีองค์ประกอบที่ต้องกรอง อาจเป็นเซ็ต รายการ ทูเพิล หรือตัววนซ้ำอื่นๆ
ตัวอย่าง
ในตัวอย่างด้านล่าง เราจะใช้รายชื่อเดือนที่ใหญ่กว่า แล้วกรองเดือนที่ไม่มี 30 วันออก เพื่อที่เราจะสร้างรายการที่มีขนาดเล็กลงซึ่งประกอบด้วยเดือนที่มี 31 วัน จากนั้นจึงใช้ฟังก์ชันตัวกรอง
# list of Months
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul','Aug']
# function that filters some Months
def filterMonths(months):
MonthsWith31 = ['Apr', 'Jun','Aug','Oct']
if(months in MonthsWith31):
return True
else:
return False
non30months = filter(filterMonths, months)
print('The filtered Months :')
for month in non30months:
print(month) ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
The filtered Months : Apr Jun Aug