কম্পিউটার

পাইথন ফিল্টার:একটি ধাপে ধাপে টিউটোরিয়াল

পাইথন filter() পদ্ধতিটি তালিকা, সেট এবং টিপল ফিল্টার করতে ব্যবহৃত হয়। filter() একটি পুনরাবৃত্তিযোগ্য বস্তু ফিল্টার করার জন্য যে কোনো প্রদত্ত মানদণ্ড অনুসরণ করে এবং ফিল্টার করা ফলাফল প্রদান করে।


আপনি যখন প্রোগ্রামিং করছেন, আপনার কাছে এমন মানগুলির একটি তালিকা থাকতে পারে যা আপনি কোনও উপায়ে ফিল্টার করতে চান। উদাহরণস্বরূপ, আপনার কাছে কুকি অর্ডারগুলির একটি তালিকা থাকতে পারে এবং শুধুমাত্র সেইগুলি ফেরত দিতে চান যেগুলিতে চকোলেট জড়িত, যেগুলি আপনার কুকি স্টোরের একটি নির্দিষ্ট রান্না দ্বারা পরিচালিত হয়৷

এখানেই পাইথন filter() পদ্ধতি আসে৷ filter()৷ পদ্ধতিটি একটি পূর্বনির্ধারিত মানদণ্ডের সেটের উপর ভিত্তি করে একটি নির্দিষ্ট তালিকা ফিল্টার করতে এবং ফিল্টার করা ডেটা সহ একটি পুনরাবৃত্তিযোগ্য ফেরত দিতে ব্যবহার করা যেতে পারে।

এই টিউটোরিয়ালে, আমরা filter() নিয়ে আলোচনা করব পদ্ধতি এবং কিভাবে আপনি আপনার কোডে এটি ব্যবহার করতে পারেন। আমরা পাইথন কোডে ফাংশনের কয়েকটি উদাহরণও দেখব।

পাইথন ফিল্টার

তালিকাগুলি পাইথনে একটি ডেটা টাইপ যা একটি সাধারণ থিমের সাথে একাধিক মান সংরক্ষণ করতে ব্যবহার করা যেতে পারে। উদাহরণ স্বরূপ, আপনি একটি তালিকা ব্যবহার করতে পারেন একটি স্থানীয় ফ্যাশন দোকানে যে সমস্ত কাপড় বিক্রি করা হয় সেগুলি সংরক্ষণ করতে, অথবা প্রোগ্রামিং ভাষার নামের তালিকা সংরক্ষণ করতে৷

প্রায়শই, আপনি যখন তালিকার সাথে কাজ করছেন, আপনি মানদণ্ডের সেটের উপর ভিত্তি করে তালিকাটি ফিল্টার করতে চাইবেন। উদাহরণস্বরূপ, আপনি হয়ত একটি সিনেমা থিয়েটার পরিচালনা করছেন এবং আপনার সিনেমা কমপ্লেক্সে 18 বছরের কম বয়সী কতজন লোক সিনেমা দেখতে আসে তা জানতে চান।

filter() , একটি অন্তর্নির্মিত ফাংশন, একটি তালিকা ফিল্টার করতে ব্যবহার করা যেতে পারে এবং একটি পুনরাবৃত্তিকারী প্রদান করে। এখানে filter()-এর সিনট্যাক্স রয়েছে পদ্ধতি:

ফিল্টার(ফাংশন, পুনরাবৃত্তিযোগ্য_বস্তু)

filter() পদ্ধতি দুটি পরামিতি লাগে:

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।

  • ফাংশন আপনার নির্দিষ্ট করা পুনরাবৃত্তিযোগ্য প্রতিটি আইটেমের উপর চালানোর কোড হল (প্রয়োজনীয়)। ফাংশনটি পরীক্ষা করবে যে পুনরাবৃত্তিযোগ্যটি সত্য বা মিথ্যা প্রদান করে কিনা।
  • iterable_object আপনি যে বস্তুটি ফিল্টার করতে চান (প্রয়োজনীয়)।

আপনার নির্দিষ্ট করা পুনরাবৃত্তিযোগ্য বস্তুটি যে কোনো পুনরাবৃত্তিযোগ্য হতে পারে যেমন Python lists , sets , এবং tuples .

পাইথন ফিল্টার উদাহরণ

এই পদ্ধতিটি কীভাবে ব্যবহার করা যেতে পারে তা প্রদর্শনের জন্য আসুন একটি উদাহরণের মাধ্যমে চালানো যাক।

বলুন যে আপনি একটি ম্যাগাজিন স্ট্যান্ড পরিচালনা করছেন এবং আপনি নতুন ইনভেন্টরি অর্ডার করতে হবে কিনা তা পরীক্ষা করতে চান। আপনার যদি কোনো পত্রিকার 20টির কম সংস্করণ থাকে, তাহলে আপনাকে একটি নতুন অর্ডার দিতে হবে; আপনার যদি একটি ম্যাগাজিনের 20টির বেশি সংস্করণ থাকে তবে আপনাকে নতুন অর্ডার দেওয়ার দরকার নেই। আপনার কাছে সংখ্যার একটি তালিকা রয়েছে যা আপনার কাছে থাকা ম্যাগাজিনের পরিমাণ সঞ্চয় করে৷

আপনার কোন পত্রিকার জন্য অর্ডার দিতে হবে কিনা তা পরীক্ষা করতে, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:

পরিমাণ =[25, 49, 21, 17, 14, 28] def checkQuantities(mags):যদি mags <20:return True else:return Falsefiltered_mags =filter(checkQuantities, quantities)print(list(filtered_mags)) 

আমাদের কোড রিটার্ন করে:[17, 14]

আসুন আমাদের কোড ভাঙ্গা যাক। প্রথম লাইনে, আমরা quantities নামে একটি পরিবর্তনশীল সংজ্ঞায়িত করি যা আমাদের ইনভেন্টরিতে প্রতিটি পত্রিকার কয়টি সংস্করণ জমা করে।

তারপর, আমরা checkQuantities নামে একটি ফাংশন সংজ্ঞায়িত করি যা আমাদের কাছে একটি নির্দিষ্ট ম্যাগাজিনের 20টিরও কম সংস্করণ স্টকে আছে কিনা তা পরীক্ষা করবে। যদি আমাদের 20টির কম সংস্করণ থাকে, তাহলে আমাদের checkQuantities ফাংশন সত্য প্রদান করে; অন্যথায়, এটি মিথ্যা ফিরে আসবে।

এরপর, আমরা filter() ব্যবহার করি পদ্ধতি এবং checkQuantities নির্দিষ্ট করুন আমাদের ফাংশন এবং quantities হিসাবে আমাদের পুনরাবৃত্তিযোগ্য বস্তু হিসাবে। এটি আমাদের filter() বলে checkQuantities চালানোর পদ্ধতি পরিমাণ অ্যারের প্রতিটি আইটেমে।

তারপর, আমরা আমাদের filter() এর ফলাফল প্রিন্ট আউট করি পদ্ধতি, এবং list() ব্যবহার করুন এটিকে একটি তালিকায় রূপান্তর করতে। এটি গুরুত্বপূর্ণ কারণ filter() একটি ফিল্টার করা বস্তু প্রদান করে, একটি তালিকা নয়। সুতরাং, যদি আমরা আমাদের ডেটা দেখতে চাই, তাহলে আমাদের এটিকে একটি তালিকায় রূপান্তর করতে হবে।

আপনি দেখতে পাচ্ছেন, আমাদের কোড দুটি মান প্রদান করে:17 এবং 14। এর প্রত্যেকটি 20 এর নিচে, যার মানে আমাদের প্রোগ্রামটি উদ্দেশ্য অনুযায়ী কাজ করেছে।

এই পদ্ধতিটি কীভাবে কাজ করে তা দেখানোর জন্য আরেকটি উদাহরণ দেওয়া যাক। বলুন আমরা একজন নাচের প্রশিক্ষক এবং আমরা আমাদের ক্লাসের প্রত্যেকের বয়স জানতে চাই যাদের বয়স সাত থেকে দশের মধ্যে, যার মধ্যে সাত এবং দশটি উভয়ই অন্তর্ভুক্ত। এই ডেটা পেতে আমরা নিম্নলিখিত কোড ব্যবহার করতে পারি:

student_ages =[7, 9, 8, 10, 11, 11, 8, 9, 12]def checkAges(ages):যদি বয়স>=7 এবং বয়স <=10:রিটার্ন সত্য অন্যথায়:Falsefiltered_ages =ফিল্টার ফেরত দিন checkAges, student_ages)print(list(filtered_ages))

আমাদের কোড রিটার্ন করে:[7, 9, 8, 10, 8, 9] . আপনি দেখতে পাচ্ছেন, আমাদের প্রোগ্রামটি আমাদের তালিকার উপাদানগুলি থেকে সাত থেকে দশ বছর বয়সী শিক্ষার্থীদের ফিল্টার আউট করেছে, যার মধ্যে সাত এবং দশটি উভয়ই অন্তর্ভুক্ত। ফলাফল তালিকায় আমাদের ফিল্টার করা ডেটা রয়েছে।

ল্যাম্বডা সহ পাইথন ফিল্টার

আমাদের ফিল্টার অপারেশন আরো দক্ষ করতে, আমরা তালিকা মানচিত্র Lambda ফাংশন ব্যবহার করতে পারেন. Lambda হল একটি বিশেষ ফাংশন যা নাম ছাড়াই সংজ্ঞায়িত করা হয় এবং পাইথনে সংক্ষিপ্ত, এক-লাইন বেনামী ফাংশন লিখতে ব্যবহার করা যেতে পারে।

সুতরাং, আসুন উপরে থেকে আমাদের ম্যাগাজিনের পরিমাণের উদাহরণ নেওয়া যাক। সেই উদাহরণে, আমরা একটি ফাংশন তৈরি করেছি যা আমাদের কাছে একটি পত্রিকার 20টিরও কম সংস্করণ স্টকে আছে কিনা তা পরীক্ষা করে এবং filter() ব্যবহার করে। আমাদের পত্রিকার তালিকায় সেই ফাংশনটি কার্যকর করতে। তারপর, আমাদের প্রোগ্রাম প্রতিটি পত্রিকার একটি তালিকা ফেরত দিয়েছে যার জন্য আমাদের 20টিরও কম সংস্করণ ছিল।

আমরা এই একই ক্রিয়া সম্পাদনের জন্য একটি ল্যাম্বডা ফাংশন ব্যবহার করতে পারি, তবে আরও দক্ষতার সাথে। এই কোডটি আমরা ব্যবহার করতে পারি:

পরিমাণ =[25, 49, 21, 17, 14, 28] filtered_mags =filter(lambda mag:mag <20, quantities)print(list(filtered_mags))

আমাদের কোড রিটার্ন করে:[17, 14] .

আপনি দেখতে পাচ্ছেন, আমাদের আউটপুট একই, কিন্তু আমাদের কোড উল্লেখযোগ্যভাবে ছোট। একটি সম্পূর্ণ ফাংশন সংজ্ঞায়িত করার পরিবর্তে, আমরা একটি এক-লাইন ফাংশন সংজ্ঞায়িত করতে Lambda ব্যবহার করেছি৷

এই এক-লাইন ফাংশনটি আমাদের কাছে একটি ম্যাগাজিনের 20 টিরও কম কপি স্টকে আছে কিনা তা পরীক্ষা করে এবং filter()-এ True ফেরত দেয়। যে ক্ষেত্রে যদি পুনরাবৃত্তিকারী. কার্যকর করার পরে, আমাদের প্রোগ্রাম দুটি মান সহ একটি তালিকা প্রদান করে:17 এবং 14৷

উপসংহার

পাইথন filter() ফাংশনটি পূর্বনির্ধারিত মানদণ্ডের সেটের উপর ভিত্তি করে একটি পুনরাবৃত্তিযোগ্য বস্তুকে ফিল্টার করতে ব্যবহার করা যেতে পারে এবং একটি ফিল্টার করা পুনরাবৃত্তিযোগ্য প্রদান করে। এই পদ্ধতিটি কার্যকর হতে পারে যদি আপনার কাছে ডেটার একটি তালিকা থাকে যেখান থেকে আপনি শুধুমাত্র নির্দিষ্ট মানদণ্ড পূরণ করে এমন মান পুনরুদ্ধার করতে চান৷

এই নির্দেশিকায়, আমরা filter()-এর সিনট্যাক্স নিয়ে আলোচনা করেছি পদ্ধতি, এবং কিভাবে এটি পাইথনে ব্যবহার করা যেতে পারে। আমরা filter() এর কয়েকটি উদাহরণ অন্বেষণ করেছি কর্মে, তারপর আমরা দেখেছি কিভাবে filter() আমাদের কোডকে আরও দক্ষ করে তুলতে পাইথন ল্যাম্বডা ফাংশনের সাথে ব্যবহার করা যেতে পারে।

আপনি এখন filter() ব্যবহার করার জন্য প্রয়োজনীয় তথ্য দিয়ে সজ্জিত পাইথন বিশেষজ্ঞের মত!


  1. পাইথন দোভাষী:একটি ধাপে ধাপে গাইড

  2. পাইথন - ফিল্টার সুপারসিকোয়েন্স স্ট্রিং

  3. পাইথনে ফিল্টার() কি?

  4. পাইথনে ফিল্টার করুন