2017-10-19 316 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是不正确。 替换返回一个新的字符串与指示的更改。原始字符串的确是完好无损的,但是新字符串是一个独立的实体,而不是原始字符串的一部分,并且不再依赖于原始字符串。