এই নিবন্ধে আমরা পাইথন ৩.x-এ উপলব্ধ চারটি ইটেরেটর ফাংশন: accumulate(), chain(), filterfalse(), dropwhile() মেথডগুলো নিয়ে আলোচনা করব।
এখন তাদের প্রতিটিকে বিস্তারিত দেখি:
Accumulate() এবং chain() মেথড
Accumulate() মেথড দুটি আর্গুমেন্ট নেয়: একটি হলো অপারেট করার ইটারেবল এবং অন্যটি হলো ফাংশন/অপারেশন। ডিফল্টভাবে, দ্বিতীয় আর্গুমেন্ট যোগ অপারেশন করে।
Chain() মেথড সকল ইটেরেবল টার্গেট প্রিন্ট করে সকল ইটেরেবল কনক্যাটেনেট করার পর।
নিচের উদাহরণ বাস্তবায়নটি ব্যাখ্যা করে:
উদাহরণ
import itertools
import operator as op
# লিস্ট ১ ইনিশিয়ালাইজ
li1 = ['t','u','t','o','r']
# লিস্ট ২ ইনিশিয়ালাইজ
li2 = [1,1,1,1,1]
# লিস্ট ৩ ইনিশিয়ালাইজ
li3 = ['i','a','l','s','p','o','i','n','t']
# accumulate() add মেথড ব্যবহার
print("The sum after each iteration is:", end="")
print(list(itertools.accumulate(li1, op.add)))
# accumulate() multiply মেথড ব্যবহার
print("The product after each iteration is:", end="")
print(list(itertools.accumulate(li2, op.mul)))
# chain() মেথড ব্যবহার
print("All values in mentioned chain are:", end="")
print(list(itertools.chain(li1, li3)))
আউটপুট
The sum after each iteration is: ['t', 'tu', 'tut', 'tuto', 'tutor'] The product after each iteration is: [1, 1, 1, 1, 1] All values in mentioned chain are: ['t', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n', 't']
Dropwhile() এবং filterfalse() মেথড
Dropwhile() মেথড একটি কন্ডিশন চেক করার ফাংশন এবং একটি ইনপুট ইটেরেবল গ্রহণ করে। এটি কন্ডিশন false হয়ে গেলে পরের সকল ইটেরেবলের ভ্যালু রিটার্ন করে।
Filterfalse() মেথড একটি কন্ডিশন চেক করার ফাংশন এবং একটি ইনপুট ইটেরেবল গ্রহণ করে। এটি দেয়া কন্ডিশন false হলে ভ্যালু রিটার্ন করে।
উদাহরণ
import itertools
# লিস্ট
l = ['t','u','t','o','r']
# dropwhile() মেথড ব্যবহার
print("The values after condition fails:", end="")
print(list(itertools.dropwhile(lambda x: x != 'o', l)))
# filterfalse() মেথড ব্যবহার
print("The values when condition fails:", end="")
print(list(itertools.filterfalse(lambda x: x != 'o', l)))
আউটপুট
The values after condition fails: ['o', 'r'] The values when condition fails: ['o']
উপসংহার
এই নিবন্ধে আমরা পাইথন ৩.x-এ উপলব্ধ বিভিন্ন টাইপের ইটেরেটর ফাংশনগুলো শিখেছি।