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

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

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

उदाहरण

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)
    # सभी सबस्ट्रिंग्स की घटनाओं को गिनें
    for i in range(len(r)):
        for sub in getsubs(i, r):
            occ[sub] += 1
    # 2 से कम घटनाओं वाली सभी सबस्ट्रिंग्स को फ़िल्टर करें
    filtered = [k for k, v in occ.items() if v >= 2]
    if filtered:
        maxkey = max(filtered, key=len)  # सबसे लंबी स्ट्रिंग खोजें
        return maxkey
    else:
        raise ValueError("'%s' की किसी भी सबस्ट्रिंग की 2 या अधिक घटनाएं नहीं" % (r))

longestRepetitiveSubstring("hellopeople18654randomtexthellopeoplefromallaroundthe world")

आउटपुट

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

'hellopeople'
  1. - पायथन में स्ट्रिंग को कैसे रिवर्स करें?

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

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

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

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

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