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

पायथन में एक स्ट्रिंग में सबसे लंबा दोहराव अनुक्रम कैसे खोजें?

आप इनपुट स्ट्रिंग में प्रत्येक स्थिति से शुरू होने वाले प्रत्येक उप स्ट्रिंग का मिलान करने के लिए डिफॉल्टडिक्ट का उपयोग कर सकते हैं। गेटसब विधि एक जनरेटर विधि है जो हर बार कॉल करने पर एक छोटी उप स्ट्रिंग उत्पन्न करती है।

उदाहरण

from collections import defaultdict
def getsubs(loc, s):
    substr = s[loc:]
    i = -1
    while(substr):
        yield substr
        substr = s[loc:i]
        i -= 1
def longestRepetitiveSubstring(r):
    occ = defaultdict(int)
    # tally all occurrences of all substrings
    for i in range(len(r)):
        for sub in getsubs(i,r):
            occ[sub] += 1
    # filter out all sub strings with fewer than 2 occurrences
    filtered = [k for k,v in occ.items() if v >= 2]
    if filtered:
        maxkey =  max(filtered, key=len) # Find longest string
        return maxkey
    else:
        raise ValueError("no repetitions of any substring of '%s' with 2 or more occurrences" % (r))
longestRepetitiveSubstring("hellopeople18654randomtexthellopeoplefromallaroundthe world")

आउटपुट

यह आउटपुट देगा:

'hellopeople'

  1. पायथन में एक स्ट्रिंग को कैसे उलटें?

    स्ट्रिंग स्लाइसिंग और रेंज ऑपरेटरों का उपयोग पायथन में एक स्ट्रिंग को उलटने के लिए किया जा सकता है। उदाहरण के लिए: >>> 'Hello'[::-1] ‘olleH’ >>>‘Halloween’[::-1] ‘neewollaH’ [] ऑपरेटर कोलन : द्वारा अलग किए गए 3 नंबर ले सकता है। पहला स्टा

  1. कैसे जांचें कि पाइथन में एक स्ट्रिंग अल्फान्यूमेरिक है या नहीं?

    पायथन स्ट्रिंग क्लास में isalnum () नामक एक विधि है जिसे एक स्ट्रिंग पर बुलाया जा सकता है और हमें बताता है कि स्ट्रिंग में केवल अल्फ़ान्यूमेरिक्स हैं या नहीं। आप इसे निम्न तरीके से कॉल कर सकते हैं: >>> '123abc'.isalnum() True >>> '123#$%abc'.isalnum() False आप उसी

  1. कैसे जांचें कि पाइथन में किसी अन्य स्ट्रिंग में एक सबस्ट्रिंग निहित है या नहीं?

    एक स्ट्रिंग किसी अन्य स्ट्रिंग का सबस्ट्रिंग है या नहीं, यह जानने के लिए पायथन में एक कीवर्ड इन है। उदाहरण के लिए print('ello' in 'hello world')  आउटपुट True यदि आपको सबस्ट्रिंग की पहली अनुक्रमणिका की भी आवश्यकता है, तो आप अनुक्रमणिका को खोजने के लिए ढूंढें (सबस्ट्र) का उपयोग