filter() মেথড ব্যবহার করে একটি লিস্ট থেকে নির্দিষ্ট শর্তের 앨িমেন্টগুলো ফিল্টার করে বের করা যায়। এর জন্য প্রথমে একটি ইউজার-ডিফাইনড ফাংশন তৈরি করতে হয় যেটি ফিল্টারিং এর শর্ত নির্ধারণ করে। তারপর সেই ফাংশন এবং লিস্ট — দুটোই filter() ফাংশনের প্যারামিটার হিসেবে পাস করলে ফলাফল পাওয়া যায়।
সিনট্যাক্স
filter(filter_function, sequence)
উদাহরণ ১: জোড় সংখ্যা ফিল্টার আউট করা
নিচের উদাহরণে একটি ফাংশন তৈরি করা হয়েছে যা জোড় সংখ্যা গুলো ফাঁসি দেয় (return False)। বাকি বিজোড় সংখ্যাগুলো ফাইনাল লিস্টে যোগ হয়। এই ফাংশন মডিফাই করে ৩ বা ৫ দিয়ে ভাগযোগ্য সংখ্যা ফিল্টার করা সম্ভব।
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
উদাহরণ ২: স্বরবর্ণ (vowel) ফিল্টার করা
একই পদ্ধতিতে অক্ষরের লিস্ট থেকে স্বরবর্ণ ফিল্টার করা যায়।
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