Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन - दो डिक्शनरीज को संयोजित करें, सामान्य कुंजियों के मान जोड़कर

पायथन के साथ डेटा विश्लेषण करते समय हम ऐसी स्थितियों का सामना करते हैं जब हमें दो डिक्शनरीज को इस तरह मर्ज करना होता है कि उन तत्वों के मान जोड़ दिए जाएं जिनकी कुंजियों के मान समान हैं। इस लेख में हम ऐसी दो डिक्शनरीज को जोड़ते हुए देखेंगे।

फॉर लूप और | ऑपरेटर के साथ

इस दृष्टिकोण में हम दोनों डिक्शनरीज में कुंजी के मान की उपस्थिति की जांच करने के लिए एक फॉर लूप डिज़ाइन करते हैं और फिर उन्हें जोड़ते हैं। अंत में हम डिक्शनरीज के लिए उपलब्ध | ऑपरेटर का उपयोग करके दोनों डिक्शनरीज को मर्ज करते हैं।

उदाहरण

dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6}
dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4}

# सामान्य कुंजी के साथ जोड़ें
for key in dictB:
    if key in dictA:
        dictB[key] = dictB[key] + dictA[key]
    else:
        pass

res = dictA | dictB
print(res)

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:

आउटपुट

{'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10}

Counter का उपयोग करके

collections मॉड्यूल से Counter फ़ंक्शन को सीधे दोनों डिक्शनरीज को मर्ज करने के लिए लागू किया जा सकता है जो कुंजियों को संरक्षित करता है। और बदले में मेल खाने वाली कुंजियों पर मानों को जोड़ता है।

उदाहरण

from collections import Counter

dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6}
dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4}

res = Counter(dictA) + Counter(dictB)
print(res)

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:

आउटपुट

Counter({'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10})

तुलना:

विशेषताफॉर लूप + |Counter
सिंटैक्सअधिक वर्बोजसंक्षिप्त, एक लाइन
रिटर्न प्रकारdictCounter (dict सबक्लास)
नकारात्मक मानसंभालता हैनकारात्मक मान हटा देता है
प्रदर्शनO(n)O(n) - C में अनुकूलित

नोट: Counter जोड़ नकारात्मक या शून्य परिणामों वाले आइटम्स को हटा देता है। यदि आपको सभी कुंजियां चाहिए, तो फॉर लूप विधि का उपयोग करें।

  1. पायथन प्रोग्राम: दो संख्याओं के सामान्य भाजक पायथन प्रोग्राम: दो संख्याओं के सामान्य भाजक

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें दो पूर्णांक दिए गए हैं, हमें दो संख्याओं के सामान्य भाजक प्रदर्शित करने हैं। यहां हम इनपुट के रूप में ली गई दो संख्याओं का न्यूनतम निकालते हैं। एक लूप से विभाजकों की गणना की जाती है जो प्रत्येक मान को 1 से न्यूनतम गणना तक विभा

  1. - पायथन डिक्शनरी में नई कीज़/वैल्यूज़ कैसे इन्सर्ट करें?

    की-वैल्यू पेयर वाला एक नया एलिमेंट असाइनमेंट ऑपरेटर का उपयोग करके जोड़ा जाता है। D[key] = value यदि की पहले से डिक्शनरी में उपयोग की गई है, तो इसकी वैल्यू अपडेट हो जाती है, अन्यथा नया पेयर कलेक्शन में जुड़ जाता है। निम्नलिखित उदाहरण में, एक नई की school bag और संबद्ध वैल्यू 200 डिक्शनरी में जोड़ी

  1. - पायथन डिक्शनरी वैल्यूज़ कैसे अपडेट करें?

    पायथन की बिल्ट-इन डिक्शनरी क्लास में update() मेथड होता है। यह आर्गुमेंट के रूप में दूसरा डिक्शनरी ऑब्जेक्ट लेता है। उदाहरण D1.update(D2) D2 ऑब्जेक्ट D1 में मर्ज हो जाता है। यदि D2 में ऐसी की है जो पहले से D1 में मौजूद है, तो उसकी वैल्यू अपडेट हो जाती है और यदि यह नई की है, तो नई की-वैल्यू पेयर जु