gpt4 book ai didi

Python:使用递归实现 split()

转载 作者:行者123 更新时间:2023-12-05 05:48:23 25 4
gpt4 key购买 nike

最近我试图找出一个实现 split() 函数的问题,目标是完成一个函数,该函数将带有分隔符(例如“-”)的字符串或带有“/”的路径字符串拆分为一个单词列表递归方式。

inputString = "Hello-World"
expectedOutput = ["Hello", "World"]

尝试了使用 find() 的解决方案,是否还有其他不使用线性函数的可能解决方案?

def splitString(str, delim):
list=[]
i=str.find(delim)
if i!=-1:
list.append(str[0:i])
newStr=str[i+1:]
list.extend(splitString(newStr, delim))
else:
list.append(str)
return list

最佳答案

在 Python 中最好不要使用驼峰命名法命名函数和变量。无论如何,您可以通过递归将字符串拆分为单词,如下所示:

input_string = "Hello-World"
words = []

def split_string(string, delim, head=''):
if string:
if string[0] == delim:
words.append(head)
return split_string(string[1:], delim)
else:
return split_string(string[1:], delim, head + string[0])
else:
words.append(head)
return ''

split_string(input_string)
print(words)

关于Python:使用递归实现 split(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70832405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com