好了,所以生病得到开门见山这里是我的代码Python字符串分裂与多重分割点
def digestfragmentwithenzyme(seqs, enzymes):
fragment = []
for seq in seqs:
for enzyme in enzymes:
results = []
prog = re.compile(enzyme[0])
for dingen in prog.finditer(seq):
results.append(dingen.start() + enzyme[1])
results.reverse()
#result = 0
for result in results:
fragment.append(seq[result:])
seq = seq[:result]
fragment.append(seq[:result])
fragment.reverse()
return fragment
输入此功能是多串(SEQ)例如列表:
List = ["AATTCCGGTCGGGGCTCGGGGG","AAAGCAAAATCAAAAAAGCAAAAAATC"]
和酶作为输入:
[["TC", 1],["GC",1]]
(注:可以有多个给出,但他们大多是在这个问题上的字母与ATCG)
该函数返回一个列表,在这个例子中,包含2个列表:
Outputlist = [["AATT","CCGGT","CGGGG","CT","CGGGGG"],["AAAG","CAAAAT","CAAAAAAG","CAAAAAAT","C"]]
现在我有麻烦了splitti将其重复两次并获得正确的输出。
有关该功能的更多信息。它通过字符串(seq)查看识别点。在这种情况下,TC或GC将其分解到酶的第二个指标上。它应该为两个酶的列表中的两个字符串做到这一点。
这可能有助于详细说明“正确的输出”究竟是什么。如果你的程序没有做到你想要的,那么它将不会帮助我们的读者理解输入序列,酶列表和输出列表之间的关系究竟是什么。很明显,它不仅仅是一个简单的子查询。 – Risadinha
对于初学者来说'prog'是一个正则表达式,应该对一个字符串进行操作,而'seq'是一个字符串列表,所以'prog.finditer(seq)'是一个错误。您需要一次处理一个输入字符串。 –
@AlexHall是的,我试了seqs中的seq(在参数aswel中改变它),但它没有给我正确的输出 –