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

पायथन में बड़ी क्रमबद्ध सूची बनाने के लिए दो क्रमबद्ध सूची को मर्ज करने का कार्यक्रम

मान लीजिए कि हमारे पास दो क्रमबद्ध सूचियां ए और बी हैं। हमें उन्हें मर्ज करना है और केवल एक क्रमबद्ध सूची सी बनाना है। सूचियों का आकार भिन्न हो सकता है।

उदाहरण के लिए, मान लीजिए A =[1,2,4,7] और B =[1,3,4,5,6,8], तो मर्ज की गई सूची C होगी [1,1,2,3,4, 4,5,6,7,8]

हम इसे रिकर्सन का उपयोग करके हल करेंगे। तो फंक्शन नीचे की तरह काम करेगा -

  • x:=एक नई सूची
  • i:=0, j:=0
  • जबकि मैं <आकार (lst0) और j <आकार (lst1), करते हैं
    • अगर lst0[i]> lst1[j], तो
      • x के अंत में lst1[j] डालें
      • j:=j+1
    • अन्यथा जब lst0[i]
    • x के अंत में lst0[i] डालें
    • i:=i+1
  • अन्यथा,
    • x के अंत में lst0[i] डालें
    • x के अंत में lst1[j] डालें
    • i:=i+1, j:=j+1
  • जबकि मैं
  • x के अंत में lst0[i] डालें
  • i:=i+1
  • जबकि j<लेन(lst1), करते हैं
    • x के अंत में lst1[j] डालें
    • j:=j+1
  • रिटर्न x
  • आइए बेहतर ढंग से समझने के लिए कार्यान्वयन देखें

    उदाहरण

    class Solution:
       def solve(self, lst0, lst1):
          x=[]
          i=0
          j=0
          while(i<len(lst0) and j<len(lst1)):
             if(lst0[i]>lst1[j]):
                x.append(lst1[j])
                j=j+1
             elif(lst0[i]<lst1[j]):
                x.append(lst0[i])
                i=i+1
             else:
                x.append(lst0[i])
                x.append(lst1[j])
                i=i+1
                j=j+1
          while(i<len(lst0)):
             x.append(lst0[i])
             i=i+1
          while(j<len(lst1)):
             x.append(lst1[j])
             j=j+1
          return x
    ob = Solution()
    print(ob.solve([1,2,4,7], [1,3,4,5,6,8]))

    इनपुट

    [1,2,4,7], [1,3,4,5,6,8]

    आउटपुट

    [1, 1, 2, 3, 4, 4, 5, 6, 7, 8]

    1. पायथन प्रोग्राम एक तत्व को क्रमबद्ध सूची में सम्मिलित करने के लिए

      इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें क्रमबद्ध क्रम को बदले बिना सूची में एक तत्व डालने की आवश्यकता है नीचे चर्चा के अनुसार दो दृष्टिकोण हैं- दृष्टिकोण 1:पाशविक बल विधि उदाहरण def insert(list_, n):    # search  

    1. 3D सूची बनाने के लिए पायथन प्रोग्राम।

      3D सूची का अर्थ है 3D सरणी। इस कार्यक्रम में हम पूर्णांक तत्वों के साथ 3D सरणी बनाते हैं। उदाहरण इनपुट:3× 3 × 2[[1,1,1], [2,2,2], [3,3,3]], [[4,4,4], [5,5, 5],[6,6,6]] एल्गोरिदम चरण 1:3D सूची के क्रम को देखते हुए। चरण 2:लूप के लिए हम सूची बनाते हैं और डेटा प्रिंट करते हैं। उदाहरण कोड # पायथन प्रोग्र

    1. शब्दकोशों में विलय करने के लिए पायथन कार्यक्रम।

      इस कार्यक्रम में दो शब्दकोश दिए गए हैं। हमारा काम इन दो सूची को मिलाना है। यहां हम अपडेट () विधि का उपयोग करते हैं। अद्यतन विधि दो सूची को मर्ज करने के लिए उपयोग कर सकती है। यहां दूसरी सूची को पहली सूची में मिला दिया गया है। यह कोई नहीं लौटाता है जिसका अर्थ है कि कोई नई सूची नहीं बनाई गई है। उदाहरण