Python 计算字符串中的一个子序列
Python count a subsequence in a string
我的练习是计算二进制字符串中的子序列,但我不能使用计数方法,因为例如,如果我在字符串“10010000”中有子序列“00”,计数方法将return“3”但正确答案是“4”。
我试过这个:
def subseq_uguale(stringa,testo,lunghezza):
f=0
for i in range(len(testo)-lunghezza+1):
confronta=''
for j in range(lunghezza):
confronta+=testo[i+j]
if confronta==stringa:
f+=1
return f
其中'lunghezza'是子序列的长度,'testo'是序列,'stringa'是子序列。但是太费时间了!
我该如何解决?
试试这个
def subseq_uguale(stringa, testo):
f=0
for i in range(len(testo)+1-len(stringa)):
if stringa==testo[i:i+len(stringa)]:
f+=1
return f
我的练习是计算二进制字符串中的子序列,但我不能使用计数方法,因为例如,如果我在字符串“10010000”中有子序列“00”,计数方法将return“3”但正确答案是“4”。
我试过这个:
def subseq_uguale(stringa,testo,lunghezza):
f=0
for i in range(len(testo)-lunghezza+1):
confronta=''
for j in range(lunghezza):
confronta+=testo[i+j]
if confronta==stringa:
f+=1
return f
其中'lunghezza'是子序列的长度,'testo'是序列,'stringa'是子序列。但是太费时间了! 我该如何解决?
试试这个
def subseq_uguale(stringa, testo):
f=0
for i in range(len(testo)+1-len(stringa)):
if stringa==testo[i:i+len(stringa)]:
f+=1
return f