假设我有一个字符串,比如:
‘TTATGACGTTCTCTTGTGCGAGACATGCTTACGGTCGGAACTCGGTGTGACTCTACGTCTGCGTTCGAGTAGCA’
我想使用像re.findall这样的正则表达式来定位3个条目的任何实例(例如TTA或GTT)。
如何将子字符串传递给用户定义的函数,以使这成为可能?
我尝试的是这样的:

def finder(sequence, codons):
    Y = re.findall(r'codons',sequence)
    return Y

然而,当我试图调用上面给出的字符串上的这个函数时,使用了一些密码子的输入,比如'TTA',作为返回,我得到的只是一个空列表。。。
我认为这个列表是空的,因为在我函数的正则表达式中,“密码子”在r旁边的引号中。有没有一种方法可以绕过这一点传递给正则表达式?

最佳答案

您正在尝试匹配字符串"codons",而不是变量参数。试试这个:

def finder(sequence, codons):
   return re.findall(codons, sequence)

09-27 04:45