ধরা যাক আমাদের কাছে একটি পাইথন অভিধান রয়েছে যার তালিকা রয়েছে মূল মান জোড়ার মান হিসাবে। আমাদের একটি তালিকা তৈরি করতে হবে যা প্রদত্ত তালিকা থেকে কী এবং মানগুলির সমস্ত সম্ভাব্য সমন্বয় প্রতিনিধিত্ব করবে৷
বাছাই করা এবং পণ্যের সাথে
itertools থেকে পণ্য ফাংশন প্যারামিটার হিসাবে এটিকে সরবরাহ করা পুনরাবৃত্তিযোগ্য একটি ক্রটিসিয়ান পণ্য তৈরি করতে ব্যবহার করা যেতে পারে। আমরা অভিধান বাছাই করি এবং অভিধানের তালিকা থেকে সম্ভাব্য সমস্ত কী মান জোড়ার সমন্বয় তৈরি করতে দুটি লুপ ব্যবহার করি।
উদাহরণ
import itertools as it Adict = { "Day": ["Tue", "Wed"], "Time": ["2pm", "9am"], } # Sorting Adict sorted_Adict = sorted(Adict) # Using product after sorting res = [dict(zip(sorted_Adict, prod)) for prod in it.product(*(Adict[sorted_Adict] for sorted_Adict in sorted_Adict))] # Printing output print(res)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
[{'Day': 'Tue', 'Time': '2pm'}, {'Day': 'Tue', 'Time': '9am'}, {'Day': 'Wed', 'Time': '2pm'}, {'Day': 'Wed', 'Time': '9am'}]
জিপ সহ
এই পদ্ধতিতে আমরা ইটারটুল পণ্য ফাংশনের সাথে জিপ ফাংশনটি ব্যবহার করি যাতে সমস্ত সম্ভাব্য কী এবং মানের সংমিশ্রণটি তালিকার অভিধান তৈরি করে।
উদাহরণ
import itertools as it Adict = { "Day": ["Tue", "Wed"], "Time": ["2pm", "9am"], } # Sorting Adict sorted_Adict = sorted(Adict) # Using product after sorting res = [[{key: value} for (key, value) in zip(Adict, values)] for values in it.product(*Adict.values())] # Printing output print(res)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
[[{'Day': 'Tue'}, {'Time': '2pm'}], [{'Day': 'Tue'}, {'Time': '9am'}], [{'Day': 'Wed'}, {'Time': '2pm'}], [{'Day': 'Wed'}, {'Time': '9am'}]]