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

पायथन में एक स्ट्रिंग में मौजूद सभी सबस्ट्रिंग्स को खोजने के लिए प्रोग्राम

मान लीजिए कि हमारे पास लोअरकेस अक्षरों के साथ एक स्ट्रिंग है। हमें सभी को s में खोजना होगा जहां एक अलग स्थान पर s में एक और सबस्ट्रिंग होना चाहिए जो उस लिए गए सबस्ट्रिंग का विपर्यय है। हमें शब्दावली क्रम में सबस्ट्रिंग की सूची ढूंढनी होगी।

इसलिए, यदि इनपुट s ="abcba" जैसा है, तो आउटपुट ['a', 'a', 'ab', 'abc', 'abcb', 'b', 'b', 'ba') होगा। , 'bc', 'bcba', 'cb', 'cba'] उनमें से प्रत्येक के लिए हम स्ट्रिंग में ही मौजूद विभिन्न विपर्यय पा सकते हैं।

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

  • रेस :=एक नई सूची

  • एल:=एस का आकार

  • मैं के लिए 1 से एल की सीमा में, करते हैं

    • smap :=एक खाली शब्दकोश, और सभी मान प्रकार की सूची के हैं

    • j के लिए 0 से L - i की सीमा में, करें

      • cs :=इंडेक्स j से j + i-1] में s का सबस्ट्रिंग]

      • k :=cs के आइटम्स को क्रमबद्ध रूप में जोड़ने के बाद स्ट्रिंग

      • smap[k]

        . के अंत में cs डालें
    • smap में प्रत्येक कुंजी k और मान v के लिए, करें

      • यदि v>=2 का आकार है, तो

        • v के तत्वों को रेस में डालें

  • छँटाई के बाद वापसी रेस

उदाहरण

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

from collections import defaultdict
def solve(s):
   res = []
   L = len(s)
   for i in range(1, L + 1):
      smap = defaultdict(list)
      for j in range(L - i + 1):
         cs = s[j : j + i]
         k = "".join(sorted(cs))
         smap[k].append(cs)
      for k, v in smap.items():
         if len(v) >= 2:
            res.extend(v)

   return sorted(res)

s = "abcba"
print(solve(s))

इनपुट

"abcba"

आउटपुट

['a', 'a', 'ab', 'abc', 'abcb', 'b', 'b', 'ba', 'bc', 'bcba', 'cb', 'cba']

  1. एक स्ट्रिंग में सभी डुप्लिकेट वर्णों को खोजने के लिए पायथन प्रोग्राम

    इस ट्यूटोरियल में, हम सीखेंगे कि स्ट्रिंग में सभी डुप्लिकेट मानों को कैसे खोजें। हम इसे पायथन में विभिन्न तरीकों से कर सकते हैं। आइए एक-एक करके उन्हें एक्सप्लोर करें। हम जिस प्रोग्राम को लिखने जा रहे हैं उसका उद्देश्य एक स्ट्रिंग में मौजूद डुप्लीकेट कैरेक्टर को खोजना है। उदाहरण के लिए, हमारे पास एक

  1. एक सूची से इनपुट स्ट्रिंग के सभी करीबी मैचों को खोजने के लिए पायथन प्रोग्राम

    इस ट्यूटोरियल में, हम एक समस्या का समाधान खोजने जा रहे हैं। आइए देखें कि समस्या क्या है। हमारे पास स्ट्रिंग्स . की एक सूची है और एक तत्व . हमें स्ट्रिंग्स को ढूंढना है एक सूची से जिसमें उन्हें दिए गए तत्व से निकटता से मेल खाना चाहिए। उदाहरण देखें। Inputs strings = ["Lion", "Li",

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

    उपयोगकर्ता इनपुट स्ट्रिंग और उस स्थिति से स्थिति को देखते हुए हमें वर्णों को वर्णानुक्रम में स्ट्रिंग की लंबाई तक दर्पण करने की आवश्यकता है। इस ऑपरेशन में, हम a को z, b से y, c से x, d से w में बदलते हैं और इसी तरह से पहला कैरेक्टर आखिरी हो जाता है और इसी तरह चालू। Inpu t: p = 3 Input string = p