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

पायथन में शब्दकोश में डुप्लिकेट मानों वाली कुंजियाँ खोजें

शब्दकोशों के साथ काम करते समय, हम ऐसी स्थिति में आ सकते हैं जब शब्दकोश में डुप्लिकेट मान होते हैं जबकि स्पष्ट रूप से कुंजियाँ अद्वितीय रहती हैं। इस लेख में हम देखेंगे कि हम इसे कैसे प्राप्त कर सकते हैं।

कुंजी और मूल्यों का आदान-प्रदान

हम शब्दकोशों के मूल्यों के साथ कुंजियों का आदान-प्रदान करते हैं और फिर दी गई कुंजी से जुड़े मूल्यों को जोड़ते रहते हैं। इस तरह से डुप्लीकेट मान एक हो जाते हैं और हम उन्हें परिणामी नए शब्दकोश में देख सकते हैं।

उदाहरण

dictA = {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 3}

print("Given Dictionary :", dictA)

k_v_exchanged = {}

for key, value in dictA.items():
   if value not in k_v_exchanged:
      k_v_exchanged[value] = [key]
   else:
      k_v_exchanged[value].append(key)

# Result
print("New Dictionary:", k_v_exchanged)

आउटपुट

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

Given Dictionary : {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 3}
New Dictionary: {5: ['Sun', 'Tue'], 3: ['Mon', 'Wed']}

सेट के साथ

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

उदाहरण

dictA = {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 4}

print("Given Dictionary :", dictA)

dictB = {}
for key, value in dictA.items():
   dictB.setdefault(value, set()).add(key)

res = filter(lambda x: len(x) >1, dictB.values())

# Result
print("New Dictionary:",list(res))

आउटपुट

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

Given Dictionary : {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 4}
New Dictionary: [{'Tue', 'Sun'}]

  1. पायथन डिक्शनरी में गैर-शून्य मानों का औसत कैसे खोजें?

    आप इसे डिक्शनरी पर पुनरावृति करके और पहले शून्य मानों को फ़िल्टर करके कर सकते हैं। फिर फ़िल्टर किए गए मानों का योग लें। अंत में, इन फ़िल्टर किए गए मानों की संख्या से विभाजित करें। उदाहरण my_dict = {"foo": 100, "bar": 0, "baz": 200} filtered_vals = [v for _, v in my_dic

  1. पायथन डिक्शनरी के मूल्यों का योग कैसे करें?

    पायथन डिक्शनरी के मूल्यों का योग प्राप्त करना बहुत आसान है। आप पहले dict.values() का उपयोग करके किसी सूची में मान प्राप्त कर सकते हैं। फिर आप इन मानों का योग प्राप्त करने के लिए योग विधि को कॉल कर सकते हैं। उदाहरण d = {    'foo': 10,    'bar': 20,    &#

  1. डुप्लिकेट कुंजियों के साथ पायथन डिक्शनरी कैसे बनाएं?

    पायथन डिक्शनरी कुंजी को दोहराने की अनुमति नहीं देता है। हालांकि, हम डिफॉल्टडिक्ट . का उपयोग कर सकते हैं एक उपाय खोजने के लिए। इस वर्ग को संग्रह मॉड्यूल में परिभाषित किया गया है। डिफ़ॉल्ट डिक्ट ऑब्जेक्ट के लिए डिफ़ॉल्ट फ़ैक्टरी के रूप में सूची का उपयोग करें >>> from collections import defa