最近我試圖弄清楚一個關于字串分離的問題,它需要完成一個函式,它通過遞回、.find() 或 .split() 以及任何“不允許使用線性時間”方法。
inputString = "Tadokoro-Kouji-114514"
expectedOutput = ["Tadokoro", "Kouji", "114514"]
我已經嘗試過使用 .find() 的解決方案,但由于它是不允許的,所以我有點用盡了技巧。
def splitString(str):
list=[]
i=str.find("-")
if i!=-1:
list.append(str[0:i])
newStr=str[i 1:]
list.extend(splitString(newStr))
else:
list.append(str)
return list
uj5u.com熱心網友回復:
最好不要使用 camelCase 來命名 Python 中的函式和變數。無論如何,您可以使用遞回將字串拆分為單詞,如下所示:
input_string = "Tadokoro-Kouji-114514"
words = []
def split_string(string, head=''):
if string:
if string[0] == '-':
words.append(head)
return split_string(string[1:])
else:
return string[0] split_string(string[1:], head string[0])
else:
words.append(head)
return ''
split_string(input_string)
print(words)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/420499.html
標籤:
上一篇:提取通過字串傳入的某些值
