gpt4 book ai didi

python - 我需要这个子字符串计数程序来返回一个元组

转载 作者:行者123 更新时间:2023-12-01 05:39:01 24 4
gpt4 key购买 nike

我想出了这段代码来计算字符串中的多个子字符串。我需要它以元组形式返回结果。有什么建议吗?

def FindSubstringMatch(target, key):
PositionList = 0
while PositionList < len(target):
PositionList = target.find(key, PositionList)
if PositionList == -1:
break
print(PositionList)
PositionList += 2

FindSubstringMatch("atgacatgcacaagtatgcat", "atgc")

这段代码打印:515

我希望它返回:(5,15)

最佳答案

试试这个:

def FindSubstringMatch(target, key):
PositionList = 0
result = []
while PositionList < len(target):
PositionList = target.find(key, PositionList)
if PositionList == -1:
break
result.append(PositionList)
PositionList += 2
return tuple(result)

更好的是,您可以像这样简化整个函数:

from re import finditer

def findSubstringMatch(target, key):
return tuple(m.start() for m in finditer(key, target))

无论哪种方式,它都会按预期工作:

findSubstringMatch("atgacatgcacaagtatgcat", "atgc")
=> (5, 15)

关于python - 我需要这个子字符串计数程序来返回一个元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18117075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com