好了,所以生病得到開門見山這裏是我的代碼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中改變它),但它沒有給我正確的輸出 –