2017-10-19 18 views
0

Ich versuche, einen Teil einer Zeichenfolge mit einer Zeichenfolge zu entfernen. Zum Beispiel, wenn eine Zeichenkette "atgtga" ist, möchte ich, dass die Ausgabe "atg" ist. Ich versuchte mit der .replace ("tga", "") -Methode, aber mein TA sagte, dass es nur diesen Teil der Zeichenfolge maskiert, anstatt es zu entfernen.Entfernen von Zeichenfolge aus Zeichenfolge

Ich versuchte einen neuen Ansatz, aber ich bin immer noch auf der if-Anweisung fest.

Ich habe versucht, eine neue Funktion, aber meine Ausgabe ignoriert "ATG" aus irgendeinem Grund und löscht es.

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

Ihr TA ist falsch. – Shadow

Antwort

2

Sie können verwenden replace, manchmal Dinge tun, was sie auf dem Zinn sagen:

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

Ihr TA falsch ist. ersetzen gibt eine neue Zeichenfolge mit der angegebenen Änderung zurück. Die ursprüngliche Zeichenkette ist zwar noch intakt, aber die neue Zeichenkette ist eine separate Einheit, nicht Teil des Originals und nicht mehr vom Original abhängig.

Verwandte Themen