Zuerst teilen wir die Zeichenfolge:
%Vor% Dann fügen wir l[-1:]
hinzu, das ist die Liste vom letzten Element bis zum Ende, mit l[:-1]
, das ist die Liste vom Anfang bis (aber nicht enthalten) das letzte Element:
Endlich kommen wir hinzu:
%Vor%Und jetzt ...
Was vielleicht interessanter ist, ist was ist der schnellere Ansatz? .
Zuerst testen Sie mit der OP-Testzeichenkette (nur 3 Chunks) und den zweiten Test mit einer Kette von 600 Char-Chunks.
%Vor%Das gibt folgende Ergebnisse:
%Vor%
Und der Gewinner ist .....
%Vor% Das hat mich überrascht (ich wette auf find_and_slice
und ich habe verloren). Es gibt 2 Antwortklassen:
Selbst im einfachsten Fall I Me You
ist der erste Ansatz 2 bis 3 mal langsamer als der beste. Wenn die Saite interessanter wird, wird der erste Ansatz offensichtlich sehr ineffizient.
Das wirklich lustige ist, dass die am meisten gewählte Antwort die langsamere ist :)
Sie können Indizes und Slices verwenden, um eine neue Liste zu erstellen, die Sie dann mit Leerzeichen verbinden:
%Vor% Wenn Sie die Zeichenfolge zu collections.deque
machen, können Sie die rotate()
Methode:
Schnellere Lösung mit str.rfind
, String-Slice und String-Verkettung:
Eine weitere schnelle Lösung mit str.rsplit
:
In Funktionsformularen:
%Vor%Tags und Links python