Gegeben eine Zeichenfolge wie "helloyellowellow", analysieren Sie alle gültigen Zeichenfolgen aus der angegebenen Zeichenfolge. (ZB: [[hell, hallo, gelb], [low, low] .........]]String-Parsing mit Python?
Ich bin auf der Suche nach der optimierten Art den Code zu schreiben, hier ist meins, aber ich bin es nicht sicher, ob dies der beste Weg ist
vollständige Offenlegung - das war eine Interviewfrage
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
In Ihrer Lösung aussieht wie Sie 'vergessen Rückkehr li. Ein besserer Ansatz besteht darin, die übereinstimmenden Wörter zu "erben", anstatt eine Liste zu pflegen, anzuhängen und zurückzugeben. – shx2