ধরুন আমাদের দুটি লিস্ট আছে l1 এবং l2। আমাদের এই দুটি লিস্টের কারtezিয়ান প্রোডাক্ট বের করতে হবে। আমরা জানি যদি দুটি লিস্ট হয় (a, b) এবং (c, d) তবে কারtezিয়ান প্রোডাক্ট হবে {(a, c), (a, d), (b, c), (b, d)}। এটি করার জন্য আমরা itertools লাইব্রেরি ব্যবহার করব এবং এর product() ফাংশন ব্যবহার করব। এই ফাংশনের রিটার্ন ভ্যালু একটি ইটেরেটর। এটিকে list() কনস্ট্রাক্টরে পাস করে লিস্টে কনভার্ট করতে হবে।
উদাহরণস্বরূপ, যদি ইনপুট l1 = [1,5,6] এবং l2 = [1,2,9] হয়, তবে আউটপুট হবে [(1, 1), (1, 2), (1, 9), (5, 1), (5, 2), (5, 9), (6, 1), (6, 2), (6, 9)]।
সমাধানের ধাপসমূহ
x := product(l1, l2)- কারtezিয়ান প্রোডাক্টের ইটেরেটর পাওয়াret := list(x)- ইটেরেটরকে লিস্টে কনভার্টretরিটার্ন করুন
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালো বুঝার জন্য:
from itertools import product
def solve(l1, l2):
return list(product(l1, l2))
l1 = [1,5,6]
l2 = [1,2,9]
print(solve(l1, l2))
ইনপুট
[1,5,6], [1,2,9]
আউটপুট
[(1, 1), (1, 2), (1, 9), (5, 1), (5, 2), (5, 9), (6, 1), (6, 2), (6, 9)]