'helloyellowellow' जैसी स्ट्रिंग को देखते हुए, दिए गए स्ट्रिंग से सभी मान्य तारों को पार्स करें। (उदाहरण: [[नरक, हैलो, पीला], [कम, कम] ........]पायथन का उपयोग कर स्ट्रिंग पार्सिंग?
मैं कोड लिखने का सबसे अनुकूलित तरीका ढूंढ रहा हूं। यह मेरा है लेकिन मैं नहीं हूं यकीन है कि अगर यह सबसे अच्छा तरीका है
पूर्ण प्रकटीकरण - यह एक साक्षात्कार प्रश्न
master = []
# Dictionary for us to look up words
def is_word(inputstr):
#returns True/False
def processstring(fstr,secstr,li):
if is_word(fstr):
li.append(fstr)
if len(secstr) == 0:
if len(li) != 0:
master.append(li)
return
processstring(fstr+secstr[0], secstr[1:len(secstr)],li)
def wrapperprocess(inpstr):
li = []
if len(inpstr) == 0:
return
processstring('',inpstr,li)
wrapperprocess(inpstr[1:len(inpstr)])
wrapperprocess('helloyellowellow')
print master
अपने समाधान में, लगता है कि आप भूल गया ' वापसी ली'। एक बेहतर तरीका है कि सूची बनाए रखने, इसे जोड़ने और इसे वापस करने के बजाय मिलान किए गए शब्दों को 'उपज' करना। – shx2