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

पायथन में संख्याओं की दो सूची से लापता संख्याओं को खोजने का कार्यक्रम

मान लीजिए कि हमारे पास संख्याओं की दो सूची है जैसे nums1 और nums2। कुछ ऐसे तत्व हैं जो जरूरी नहीं कि अद्वितीय हों। लेकिन ये दो सूचियां वास्तव में संख्याओं के एक ही सेट के विभिन्न क्रमपरिवर्तन का प्रतिनिधित्व कर रही हैं। हालांकि, उनमें से कुछ गायब हैं। हमें इन दो सूचियों के लापता नंबरों को ढूंढना है और उन सभी को प्रिंट करना है।

इसलिए, यदि इनपुट nums1 =[4,5,8,8,6,9] nums2 =[3,4,4,8,8,8,6,9,5,8] जैसा है, तो आउटपुट होगा हो [3,4,8,8] क्योंकि हम देख सकते हैं 3 अंक 1 में मौजूद नहीं है, लेकिन यह अंक 2 में है, इसलिए यह गायब है। 4 दोनों में मौजूद है लेकिन nums2 में दो 4s हैं लेकिन nums1 में केवल एक ही है, इसलिए एक 4 गायब है। इसी तरह nums2 में चार 8s हैं, लेकिन nums1 में केवल 2 हैं, इसलिए दो गायब हैं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • c1 :=nums1 में मौजूद प्रत्येक तत्व की आवृत्तियों वाली एक सूची
  • c2 :=nums2 में मौजूद प्रत्येक तत्व की आवृत्तियों वाली एक सूची
  • all_nums :=एक सेट जिसमें nums1 और nums2 से सभी अलग-अलग नंबर होते हैं
  • res :=एक नई सूची
  • all_nums में प्रत्येक n के लिए, करें
    • अगर n c1 में नहीं है, तो
      • res में n, c2[n] बार डालें
    • अन्यथा जब n c2 में नहीं है, तब
      • res में n, c1[n] बार डालें
    • अन्यथा,
      • यदि c1[n] c2[n] के समान नहीं है, तो
        • एन डालें, |c1[n]- c2[n]| कई बार रेस में
  • रिटर्न रेस

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

from collections import Counter

def solve(nums1, nums2):
   c1 = Counter(nums1)
   c2 = Counter(nums2)
   all_nums = set(nums1) | set(nums2)
   res = []
   for n in all_nums:
      if n not in c1:
         res = res + [n]*c2[n]
      elif n not in c2:
         res = res + [n]*c1[n]
      else:
         if c1[n] != c2[n]:
            res = res + [n]*abs(c1[n]- c2[n])
   return res

nums1 = [4,5,8,8,6,9]
nums2 = [3,4,4,8,8,8,6,9,5,8]
print(solve(nums1, nums2))

इनपुट

[4,5,8,8,6,9], [3,4,4,8,8,8,6,9,5,8]

आउटपुट

[3, 4, 8, 8]

  1. दो स्ट्रिंग्स से असामान्य शब्द खोजने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें दो तार दिए गए हैं, हमें दिए गए तार से असामान्य शब्द निकालने होंगे। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # uncommon words def find(A, B):    # count    count = {}   &n

  1. दो सूचियों के चौराहे को खोजने के लिए पायथन कार्यक्रम?

    इंटरसेक्शन ऑपरेशन का मतलब है, हमें लिस्ट 1 और लिस्ट 2 से सभी सामान्य तत्वों को लेना होगा और सभी तत्वों को दूसरी तीसरी सूची में स्टोर करना होगा। List1::[1,2,3] List2::[2,3,6] List3::[2,3] एल्गोरिदम Step 1: input lists. Step 2: first traverse all the elements in the first list and check with the el

  1. दो सूचियों में लापता और अतिरिक्त मूल्यों को खोजने के लिए पायथन कार्यक्रम?

    समुच्चय सिद्धांत में, समुच्चय A का पूरक उन तत्वों को संदर्भित करता है जो A में नहीं हैं। समुच्चय B के सापेक्ष A के सापेक्ष पूरक, जिसे समुच्चय A और B का अंतर भी कहा जाता है। हम इस सिद्धांत को यहाँ लागू करते हैं। पायथन में अंतर कार्य है। एल्गोरिदम Step 1 : first we create two user input list. A &a