2017-10-19 374 views
0

我想用字符串刪除字符串的一部分。例如,如果一個字符串是「atgtga」,我希望輸出是「atg」。 我嘗試使用.replace(「tga」,「」)方法,但我的TA說它只是掩蓋了字符串的一部分而不是刪除它。從字符串中刪除字符串

我嘗試了一種新方法,但我仍然堅持if語句。

x="atgtgaacttaa" 
c=0 
q=3 

while(q<=len(x)): 
    x=x[c:q] 

    if(x=="tga" or x=="taa" or x=="tag"): 

     c=c+3 
     q=q+3 

print(x) 

我試圖使一個新的功能,但我的輸出被忽略出於某種原因「ATG」和刪除它。

def get_orf(dna_seq): 
    x=0 

    while(x<=len(dna_seq)): 
    if("taa" in dna_seq or "tag" in dna_seq or "tga" in dna_seq): 
     dna_seq=dna_seq.replace("taa","") 
     dna_seq=dna_seq.replace("tag","") 
     dna_seq=dna_seq.replace("tga","") 
     return dna_seq 
    else: 
     return dna_seq 
    x=x+1 
+3

你的助教是錯的。 – Shadow

回答

2

可以使用replace,有時事情做他們說在錫什麼:

>>> x = "atgtga" 
>>> y = x.replace("tga", "") 
>>> print(y) 
atg 
0

你的TA是不正確。 替換返回一個新的字符串與指示的更改。原始字符串的確是完好無損的,但是新字符串是一個獨立的實體,而不是原始字符串的一部分,並且不再依賴於原始字符串。