मान लीजिए कि हमारे पास एक पायथन डिक्शनरी है जिसमें सूचियाँ हैं क्योंकि यह प्रमुख मूल्य जोड़े में मान है। हमें एक सूची बनाने की आवश्यकता है जो दी गई सूचियों से कुंजियों और मूल्यों के सभी संभावित संयोजनों का प्रतिनिधित्व करेगी।
क्रमबद्ध और उत्पाद के साथ
itertools से उत्पाद फ़ंक्शन का उपयोग पैरामीटर के रूप में इसे आपूर्ति किए जाने वाले पुनरावृत्तीय उत्पाद का एक crtesian उत्पाद बनाने के लिए किया जा सकता है। हम डिक्शनरी को सॉर्ट करते हैं और डिक्शनरी में सूचियों से सभी संभावित कुंजी वैल्यू पेयर का संयोजन बनाने के लिए लूप के लिए दो का उपयोग करते हैं।
उदाहरण
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'}]
ज़िप के साथ
इस दृष्टिकोण में हम सभी संभावित कुंजियों और मानों के संयोजन को सूचियों का शब्दकोश बनाने के लिए itertools उत्पाद फ़ंक्शन के साथ zip फ़ंक्शन का उपयोग करते हैं।
उदाहरण
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'}]]