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

পাইথনে ডিকশনারি অফ লিস্ট থেকে মান কম্বাইন করা


ধরুন একটি পাইথন ডিকশনারি আছে যার কী-ভ্যালু জোড়ার ভ্যালুগুলো লিস্ট। আমাদের একটি লিস্ট তৈরি করতে হবে যা দেওয়া লিস্টের সব কী এবং ভ্যালুর সম্ভাব্য কম্বিনেশন উপস্থাপন করবে।

sorted এবং product ব্যবহার করে

itertools-এ product ফাংশন থাকে যা প্যারামিটার হিসেবে দেওয়া ইটারেবলের কার্টেসিয়ান প্রোডাক্ট তৈরি করতে পারে। আমরা ডিকশনারিকে সর্ট করি এবং দুটি for লুপ ব্যবহার করে ডিকশনারির লিস্ট থেকে সব সম্ভাব্য কী-ভ্যালু জোড়ার কম্বিনেশন তৈরি করি।

উদাহরণ

import itertools as it
Adict = {
    "Day": ["Tue", "Wed"],
    "Time": ["2pm", "9am"],
}
# Adict সর্টিং
sorted_Adict = sorted(Adict)
# সর্টিং után product ব্যবহার
res = [dict(zip(sorted_Adict, prod))
       for prod in it.product(*(Adict[sorted_Adict]
           for sorted_Adict in sorted_Adict))]
# আউটপুট প্রিন্ট
print(res)

আউটপুট

উপরোক্ত কোডটি চালালে নিচের ফলাফল পাওয়া যায় −

[{'Day': 'Tue', 'Time': '2pm'}, {'Day': 'Tue', 'Time': '9am'}, {'Day': 'Wed', 'Time': '2pm'}, {'Day': 'Wed', 'Time': '9am'}]

zip ব্যবহার করে

এই পদ্ধতিতে আমরা zip ফাংশন সাথে itertools product ফাংশন ব্যবহার করে ডিকশনারি অফ লিস্ট থেকে সব সম্ভাব্য কী এবং ভ্যালুর কম্বিনেশন তৈরি করি।

উদাহরণ

import itertools as it
Adict = {
    "Day": ["Tue", "Wed"],
    "Time": ["2pm", "9am"],
}
# Adict সর্টিং
sorted_Adict = sorted(Adict)
# সর্টিং után product ব্যবহার
res = [[{key: value} for (key, value) in zip(Adict, values)]
       for values in it.product(*Adict.values())]
# আউটপুট প্রিন্ট
print(res)

আউটপুট

উপরোক্ত কোডটি চালালে নিচের ফলাফল পাওয়া যায় −

[[{'Day': 'Tue'}, {'Time': '2pm'}], [{'Day': 'Tue'}, {'Time': '9am'}], [{'Day': 'Wed'}, {'Time': '2pm'}], [{'Day': 'Wed'}, {'Time': '9am'}]]

  1. পাইথন প্রোগ্রাম: লিস্ট থেকে অনন্য (Unique) মান প্রিন্ট করা

  2. পাইথনে কী এবং ভ্যালু লিস্ট থেকে ডিকশনারি কীভাবে তৈরি করবেন?

  3. পাইথন ডিকশনারি থেকে সব ভ্যালুর লিস্ট কীভাবে পাবেন?

  4. পাইথন ডিকশনারি থেকে সব কী-এর লিস্ট কীভাবে পাবেন?