以下适用于 Python 3.2.3。
我想编写一个带有两个参数的函数,一个键字符串和一个目标字符串。这些函数是递归确定(必须是递归的)关键字符串在目标字符串中的位置。
目前,我的代码如下。
def posSubStringMatchRecursive(target,key):
import string
index=str.rfind(target, key)
if index !=-1:
print (index)
target=target[:(index+len(key)-1)]
posSubStringMatchRecursive(target,key)
这样做的问题是,没有办法将目标字符串中的键字符串的所有位置存储在列表中,因为指示位置的数字只会被打印出来。
所以,我的问题是,有没有办法改变代码,以便目标字符串中键字符串的位置可以存储在列表中?
示例输出
countSubStringMatchRecursive ('aatcgdaaaggraaa', 'aa')
13
12
7
6
0
编辑
以下代码似乎在 Ashwini 的代码中没有问题。谢谢,列夫。
def posSubStringMatchRecursive(target,key):
import string
index=str.rfind(target, key)
if index ==-1:
return []
else:
target=target[:(index+len(key)-1)]
return ([index] + posSubStringMatchRecursive(target,key))