Effiziente Listenrotation in Python
Das Rotieren einer Liste bezieht sich auf das Verschieben ihrer Elemente um eine bestimmte Anzahl von Positionen in beide Richtungen. Während der bereitgestellte Code mithilfe von Slicing funktionsfähig ist, können Leistungsverbesserungen erzielt werden.
Verwendung von Collections.Deque
Die Python-Standardbibliothek bietet eine effizientere Datenstruktur für solche Operationen:collections.deque. Deques sind für die Durchführung von Vorgängen wie dem Ein- und Ausreihen in die Warteschlange von beiden Seiten optimiert. Sie bieten auch eine spezielle Methode „rotate()“ an.
Um eine Deque für die Listenrotation zu verwenden, befolgen Sie diese Schritte:
Beispiel
Betrachten Sie das folgende Beispiel:
from collections import deque items = deque([1, 2, 3]) items.rotate(1) # deque == [3, 1, 2] items.rotate(-1) # deque returns to original state: [1, 2, 3] item = items.popleft() # deque == [2, 3]
In diesem In diesem Fall beginnt die Deque als [1, 2, 3]. Nach einer Drehung nach rechts wird es zu [3, 1, 2]. Durch Zurückdrehen nach links wird die ursprüngliche Reihenfolge wiederhergestellt. Schließlich führt das Entfernen des ersten Elements dazu, dass die Deque [2, 3] enthält.
Durch die Verwendung von Deque und seiner Methode „rotate()“ können Sie eine effiziente Listenrotation in Python erreichen.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste in Python effizient rotieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!