4つの文字列を取り込む関数を作成しました。最初の2つの文字列は長い文字列になります。最後の2つの文字列は境界と呼ばれます。私は定義された境界の間でstring1のすべてをとって、定義された境界の間のstring2のすべてを置き換えたいと思います。文字列1から取り除かれた文字列の一部は削除され、文字列2で置換された部分は削除されます。この機能の例は以下の通りです:2つの定義された境界のシーケンス間のスプライシング
def bound('DOGYOMAMA','ROOGMEMAD', 'OG' 'MA') --> RETURNS('DMA','ROOGYOMAD',
'OG', 'MA')
これは私が私の問題は、私もそれはので、これはで動作するようにする必要がありということです
def bound(st,sz,a,b):
s1=''.join(st)
s2=''.join(sz)
if a in s1 and b in s1 and a in s2 and b in s2:
f1=s1.find(a)
l1=s1.find(b)
f2=s2.find(a)
l2=s2.find(b)
blen1 = len(b)
blen2 = len(b)
s1_n = s1[:f1] +s1[l1+blen1:]
s2_n = s2[:f2] + s1[f1:l1 + blen1] +s2[l2+blen2]
return s1_n, s2_n, a, b
print(bound('DOGYOMAMA','ROOGMEMAD', 'OG','MA'))
上に書いた何をするために作成した機能です逆のように私は('DOGYOMAMA','ROOGMEMAD', 'OG' 'MA')
を持っているならば、('AMAMOYGOD','DAMEMGOOR', 'GO' 'AM')
も探してください。文字列を両方の方法でスプライスできる場合は、最も低いインデックスでスプライスされたシーケンスのみが使用されます。
ようこそ!あなたの問題を解決したら、その答えを受け入れることでユーザーに知らせることができます。あなたが解決策の問題について解説を見つけなかった場合。 –