पायथन डिक्शनरीज में कुंजियां और मान होते हैं। यदि हमारे पास दो या अधिक डिक्शनरीज हैं जिन्हें नेस्टेड डिक्शनरी में मर्ज किया जाना है, तो हम नीचे दिए गए दृष्टिकोण अपना सकते हैं। यहां डिक्शनरीज नई कुंजियों के साथ दी गई हैं जो नेस्टेड डिक्शनरी में कुंजी बन जाएंगी।
कुंजियां असाइन करके
इस दृष्टिकोण में हम एक नई खाली डिक्शनरी बनाते हैं। फिर दी गई डिक्शनरीज को प्रत्येक नई कुंजी को असाइन करते हैं। परिणामी डिक्शनरी असाइन की गई कुंजियों के साथ एक नेस्टेड डिक्शनरी होगी।
उदाहरण
dictA = {'Sun': 1, 'Mon': 2}
dictB = {'Tue': 3, 'Sun': 5}
# दी गई डिक्शनरीज
print("DictA : ", dictA)
print("DictB: ", dictB)
# कुंजी एक्सेस और dict() का उपयोग करके
res = dict()
res['Nested_dict_1'] = dictA
res['Nested_dict_2'] = dictB
# परिणाम प्रिंट करें
print("Nested Dictionary: \n", res)
उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:
आउटपुट
DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Nested Dictionary:
{'Nested_dict_1': {'Sun': 1, 'Mon': 2}, 'Nested_dict_2': {'Tue': 3, 'Sun': 5}}
zip का उपयोग करके
zip फ़ंक्शन कुंजियों और डिक्शनरीज को एक टुपल में बदल सकता है। फिर हम अंतिम परिणाम प्राप्त करने के लिए dict फ़ंक्शन लागू करते हैं जो नई कुंजियों के साथ-साथ इनपुट डिक्शनरीज को समाहित करने वाली एक डिक्शनरी होती है।
उदाहरण
dictA = {'Sun': 1, 'Mon': 2}
dictB = {'Tue': 3, 'Sun': 5}
# दी गई डिक्शनरीज
print("DictA : ", dictA)
print("DictB: ", dictB)
# zip का उपयोग करके
dict_keys = ['Nested_dict_1', 'Nested_dict_2']
all_dicts = [dictA, dictB]
res = dict(zip(dict_keys, all_dicts))
# परिणाम प्रिंट करें
print("Nested Dictionary: \n", res)
उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:
आउटपुट
DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Nested Dictionary:
{'Nested_dict_1': {'Sun': 1, 'Mon': 2}, 'Nested_dict_2': {'Tue': 3, 'Sun': 5}}
दोनों विधियों की तुलना:
- पहली विधि: अधिक पठनीय, स्पष्ट नियंत्रण
- zip विधि: अधिक संक्षिप्त, पायथनिक
दोनों समान परिणाम देते हैं।