এই আর্টিকেলে আমরা পাইথন ৩.x-এ ল্যাম্বডা এক্সপ্রেশন এবং filter() ফাংশন সম্পর্কে জানব। এই ফাংশনগুলো পাইথন স্ট্যান্ডার্ড লাইব্রেরির বিল্ট-ইন অংশ।
ল্যাম্বডা এক্সপ্রেশন কী?
একইনলাইন ফাংশন ডিফাইন করতে ল্যাম্বডা এক্সপ্রেশন সাহায্য করে। একটি ল্যাম্বডা এক্সপ্রেশন দিয়ে lambda কিওয়ার্ড, তারপর কমা-সেপারেটেড আর্গুমেন্টের লিস্ট, এবং আর্গুমেন্টগুলো ব্যবহার করে ইভ্যালুয়েট করা এক্সপ্রেশন—এই ফরম্যাটে লেখা হয়:
সিনট্যাক্স
lambda arguments: expression
রিটার্ন ভ্যালু: আর্গুমেন্টগুলো এক্সপ্রেশনে সাবস্টিটিউট করে কম্পিউটেড ভ্যালু।
ল্যাম্বডা এক্সপ্রেশনকে প্রায়ই অ্যানোনিমাস ফাংশন বলা হয় কারণ এর কোনো নাম নয়। এখানে ফাংশন ডিক্লেয়ারেশনের জন্য def কিওয়ার্ড দরকার নয়।
filter ফাংশন কী?
পাইথনে filter() ফাংশন একটি ফাংশন এবং একটি ইটারেবল অবজেক্ট ইনপুট আর্গুমেন্ট হিসেবে নেয় এবং শুধু সেই এলিমেন্টগুলো রিটার্ন করে যেসবের জন্য ফাংশনটি True রিটার্ন করে।
সিনট্যাক্স
filter(function,)
রিটার্ন টাইপ: কম্পিউটেড ভ্যালুর একটি লিস্ট।
নিচে কিছু উদাহরণ দেখানো হলো যাতে বাস্তবায়ন বোঝা যায়।
দৃষ্টান্ত ১
উদাহরণ
inp_list = ['t','u','t','o','r','i','a','l'] result = list(filter(lambda x: x != 't', inp_list)) print(result)
আউটপুট
['u', 'o', 'r', 'i', 'a', 'l']
ব্যাখ্যা
এখানে লিস্টের সব এলিমেন্ট 't' ছাড়া ফিল্টার হয়েছে এবং ল্যাম্বডা এক্সপ্রেশন সাহায্যে নতুন লিস্ট তৈরি হয়েছে।
দৃষ্টান্ত ২
উদাহরণ
inp_list = [1,2,3,4,5,6,7,8,9,10] result = list(filter(lambda x: x%2==0, inp_list)) print(result)
আউটপুট
[2, 4, 6, 8, 10]
ব্যাখ্যা
এখানে দেওয়া লিস্ট থেকে সব জোড় সংখ্যা ফিল্টার আউট করা হয়েছে এবং টাইপকাস্টিং দিয়ে লিস্ট আকারে দেখানো হয়েছে।
উপসংহার
এই আর্টিকেলে আমরা পাইথন ৩.x-এ ল্যাম্বডা এবং filter() ফাংশন বাস্তবায়ন শিখেছি। একসাথে ব্যবহার করলে ডিজায়ারড ফরম্যাটে আউটপুট ফিল্টার করতে সুবিধা হয়।