2016-06-20 10 views
-1

Angesichts einer Zeichenfolge mit Codon Buchstaben Ich kann nicht herausfinden, was das folgende Programm explizit tut. Ich weiß, dass es die ganze Kette durchläuft, aber was macht es genau?Python: Übersetzen des Programms

s = "AVGGGKGDEMAWTWVRPMGVIDWEEGGVKLVAGLLP" 

[i for i in range(1,len(s)) if s[i] in 'VE' and s[i-1]!= 'W'] ? 

Die Antwort ist [5, 28].

+2

Wenn das aktuelle Zeichen ist entweder V oder E und derjenige, bevor es nicht W ist, den Index speichern (Lage) des Zeichens . Versuchen Sie es erneut. Die Antwort ist "[1, 8, 19, 24, 27, 30]". – pushkin

+0

Vielen Dank! Du hast Recht ... Ich kopiere die falsche Schnur ... Ich habe versucht zu trainieren und ich habe eine andere gelegt. Du hast recht. Das ist die Antwort. –

Antwort

1

Diese Liste Verständnis geht durch String s einen Index zu einer Zeit und prüfen 2 Bedingungen:

  • Ist das Zeichen an Index i im String 'VE'?
  • Ist das Zeichen vor dem Zeichen im Index i ungleich 'W'?

Wenn beide diese Bedingungen True dann i zu einer neuen Liste hinzugefügt wird (die in diesem Beispiel nicht gespeichert wird).

Die Ausgabe teilt Ihnen mit, dass die Zeichen in Index 5 und Index 28 diese Bedingungen erfüllen (die Ausgabe scheint jedoch für diese Zeichenfolge nicht richtig zu sein). Remember Strings sind 0 indiziert, dh der erste Buchstabe der Zeichenfolge wird über s[0] aufgerufen.

Zusätzliche Informationen:

+0

Vielen Dank! Du hast Recht ... Ich kopiere die falsche Schnur ... Ich habe versucht zu trainieren und ich habe eine andere gelegt. –

+0

Wenn diese Antwort Ihnen geholfen hat, betrachten Sie sie bitte als Antwort. Sie können dies tun, indem Sie auf das Häkchen klicken. – IanAuld

Verwandte Themen