কম্পিউটার টিউটোরিয়াল

পাইথনে দুটি লিস্টের কারtezিয়ান প্রোডাক্ট বের করার প্রোগ্রাম

ধরুন আমাদের দুটি লিস্ট আছে 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)]
  1. পাইথনে দুটি রেক্ট্যাঙ্গেল দ্বারা আচ্ছাদিত মোট এলিয়া বের করা

  2. পাইথনে কোনো সংখ্যা ২-এর ঘাত কিনা চেক করা

  3. পাইথনে দুটি বা ততোধিক লিস্টের ইউনিয়ন খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে দুটি লিস্টে অনুপস্থিত ও অতিরিক্ত মান বের করার প্রোগ্রাম