নেস্টেড টাপল (nested tuple) এর ক্যুমুলেটিভ কলাম প্রোডাক্ট (cumulative column product) বের করার জন্য zip মেথড এবং একটি নেস্টেড জেনারেটর এক্সপ্রেশন ব্যবহার করা যায়।
জেনারেটর ইটেরেটর তৈরি করার একটি সহজ পদ্ধতি। এটি স্বয়ংক্রিয়ভাবে __iter__() এবং __next__() মেথডসহ একটি ক্লাস ইমপ্লিমেন্ট করে এবং আভ্যন্তরীণ স্টেট ট্র্যাক করে, সেইসাথে কোনো মান রিটার্ন করার জন্য না থাকলে StopIteration এক্সেপশন উত্থাপন করে।
zip মেথড ইটেরেবলগুলো গ্রহণ করে, সেগুলোকে একটি টাপলে জমা করে এবং ফলাফল হিসেবে রিটার্ন করে।
নিচে এর একটি উদাহরণ দেওয়া হলো:
উদাহরণ
tuple_1 = ((11, 23), (41, 25), (22, 19))
tuple_2 = ((60, 73), (31, 91), (14, 14))
print("প্রথম টাপলটি হলো : ")
print(tuple_1)
print("দ্বিতীয় টাপলটি হলো : ")
print(tuple_2)
my_result = tuple(tuple(a * b for a, b in zip(tup_1, tup_2))
for tup_1, tup_2 in zip(tuple_1, tuple_2))
print("গুণফলের পর টাপলটি হলো : ")
print(my_result)
আউটপুট
প্রথম টাপলটি হলো : ((11, 23), (41, 25), (22, 19)) দ্বিতীয় টাপলটি হলো : ((60, 73), (31, 91), (14, 14)) গুণফলের পর টাপলটি হলো : ((660, 1679), (1271, 2275), (308, 266))
ব্যাখ্যা
- দুটি টাপল অফ টাপল (nested tuples) সংজ্ঞায়িত করা হয়েছে এবং কনসোলে প্রদর্শন করা হয়েছে।
- দুটি টাপল জিপ (zip) করা হয়েছে এবং ইটারেট করা হয়েছে, এবং সংশ্লিষ্ট মানগুলো গুণ করা হয়েছে।
- এটি তারপর টাপলে রূপান্তরিত করা হয়েছে, যা একটি ভেরিয়েবলে এসাইন করা হয়েছে।
- এই ভেরিয়েবল আউটপুট হিসেবে কনসোলে প্রদর্শিত হয়েছে।