যখন দুটি লিস্ট থাকে এবং ছোট লিস্টের আইটেমগুলো বড় লিস্টে আছে কিনা চেক করতে হয়, তখন `filter()` ফাংশন ব্যবহার করা হয়।
সিনট্যাক্স
filter(function_name, sequence_name)
- function_name: ফিল্টার ক্রাইটেরিয়া ধারণকারী ফাংশন (True/False রিটার্ন করে)।
- sequence_name: ফিল্টার হওয়ার সিকোয়েন্স (লিস্ট, টাপল, সেট ইত্যাদি)।
উদাহরণ: ৩০ দিনে নয় এমন মাস ফিল্টার করা
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']
def filterMonths(month):
months_with_31 = ['Apr', 'Jun', 'Aug', 'Oct']
return month in months_with_31
non30months = filter(filterMonths, months)
print('The filtered Months:')
for month in non30months:
print(month)
আউটপুট
The filtered Months: Apr Jun Aug
`filter()` একটি ইটেরেটর রিটার্ন করে যা লেজিলি ইভ্যালুয়েট হয়। পাইথন ৩-এ এটি লিস্ট রিটার্ন করে না, তাই `list()` বা লুপ ব্যবহার করে প্রিন্ট করতে হয়।