Ich habe eine Saite, die ich in zwei Buchstaben teilen muss. Zum Beispiel sollte 'ABCDXY'
zu ['AB', 'CD', 'XY']
werden. Das Verhalten im Falle einer ungeraden Anzahl von Zeichen kann völlig willkürlich sein (ich werde die Länge im Voraus prüfen).
Gibt es eine Möglichkeit, dies ohne eine hässliche Schleife zu tun?
Reguläre Ausdrücke verwenden!
%Vor% Ich weiß, dass es eine Weile her ist, aber ich kam zurück und war neugierig, welche Methode besser war; meins: r'.{1,2}'
oder Jon's r'..?'
. Auf der Oberfläche sieht Jon's viel schöner aus, und ich dachte, es wäre viel schneller als meiner, aber ich war überrascht, etwas anderes zu finden, also dachte ich, ich würde teilen:
Was zeigt, dass r'.{1,2}'
tatsächlich die bessere / schnellere Wahl ist. (Aber nur leicht)
Es gibt nichts Hässliches an dem perfekten Pythonic:
%Vor%Sie können auch Folgendes verwenden (von - Ссылка ):
%Vor%(je nachdem, wie Sie es betrachten - kann oder darf nicht "Schleifen" verwenden;))
oder so ähnlich:
%Vor%Hier ist eine weitere Lösung ohne explizite Schleifen (obwohl @ Emmanuels Antwort für Ihre Frage am besten geeignet ist ):
%Vor%Um Zeichenfolgen zu erhalten:
%Vor% Bei Python 3 wrap mit list()
, falls erforderlich.
Tags und Links python string python-3.x iterator