以下は Python 3.2.3 の場合です。
キー文字列とターゲット文字列の 2 つの引数を取る関数を書きたいと思います。これらの関数は、ターゲット文字列内のキー文字列の位置を再帰的に決定します (再帰的でなければなりません)。
現在、私のコードは次のとおりです。
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))