我有一个赋值表示要创建一个findString函数,它接受2个字符串'target'和'query',并返回查询出现的目标中所有索引的列表。如果target不包含查询,则返回空列表。
例如: FINDSTRING(“attaggtttattgg”,” G-G”)
返回:
[4,12]
我根本不知道如何开始写这个函数。请大家帮帮我。非常感谢你!!!
答案 0 :(得分:1)
因为已经给出答案:
def find_matches(strng, substrng):
substrg_len = len(substr)
return [i for i in range(len(strg) + 1 - substrg_len)
if strg[i:i+substrg_len] == substrg]
答案 1 :(得分:0)
def find_string(search,needle): start = -1 结果= []
while start + 1< len(search): start = search.find(needle, start +1) if start == -1: break results.append(start ) return results
答案 2 :(得分:0)
以下是一些可以帮助您入门的提示。
target.find(query)
将返回目标中query
的索引。如果找不到query
,则返回-1。
可以切割字符串。 target[pos:]
将从pos
开始为您提供目标的子字符串。
答案 3 :(得分:0)
这可能需要一些错误处理:
def find_allPatterns(strVal, strSub):
listPos = []
strTemp = strVal
while True:
try:
posInStr = strTemp.index(strSub)
except ValueError:
posInStr = None
if posInStr:
listPos.append(posInStr)
subpos = posInStr + len(strSub)
strTemp = strTemp[subpos:]
else:
break
return listPos
print find_allPatterns('attaggtttattgg', 'gg')
输出:
[4, 6]