测试目标字符串中的键字符串是否完全匹配。输出必须是匹配的起始点的元组。我的代码可以工作,但我觉得它可以整洁得多。我怎样才能在不从附加列表转换的情况下返回元组?到处找,似乎找不到答案。谢谢!!在
from string import *
target1 = 'atgacatgcacaagtatgcat'
target2 = 'atgaatgcatggatgtaaatgcag'
key10 = 'a'
key11 = 'atg'
key12 = 'atgc'
key13 = 'atgca'
def subStringMatchExact(target, key):
match_list = []
location = 0
for i in target:
ans = find(target, key, location)
if ans >= 0:
match_list.append(ans)
location = ans + (len(key))
print tuple(match_list)
subStringMatchExact(target1, key11)
顺便说一句,不要使用
target1
,key11
使用targets
,keys
列表。在还有另一种方法:
然后您可以执行以下操作来获取元组:
^{pr2}$这是正则表达式的完美工作。在
请注意,这只查找不重叠的匹配项。如果您还想查找重叠的匹配项:
^{pr2}$当然,除非您实际需要结果是元组,否则您只需从最后一行删除
tuple
,并让您的函数返回一个更高效的生成器。在相关问题 更多 >
编程相关推荐