Heim >Backend-Entwicklung >Python-Tutorial >Gibt es eine effizientere Möglichkeit, Python-Listen zu rotieren als die Verkettung?

Gibt es eine effizientere Möglichkeit, Python-Listen zu rotieren als die Verkettung?

Linda Hamilton
Linda HamiltonOriginal
2024-12-16 17:30:12906Durchsuche

Is There a More Efficient Way to Rotate Python Lists Than Concatenation?

Effiziente Drehung von Python-Listen

Beim Drehen einer Liste werden ihre Elemente um eine angegebene Anzahl von Positionen nach links oder rechts verschoben. Ein gängiger Ansatz, wie im bereitgestellten Code gezeigt, besteht darin, die erforderlichen Teile der ursprünglichen Liste zu verketten. Gibt es jedoch eine effizientere Methode?

Nutzung von Collections.deque

Collections.deque, das für das effiziente Hinzufügen und Entfernen von Elementen an beiden Enden konzipiert ist, bietet eine optimierte Lösung Lösung für die Listenrotation. Die integrierte Methode „Rotate()“ vereinfacht diesen Vorgang.

Durch Konvertieren der ursprünglichen Liste in eine Deque können wir die Methode „Rotate()“ verwenden, um effiziente Rotationen durchzuführen. Zum Beispiel:

from collections import deque
l = deque([1, 2, 3, 4])
l.rotate(1)  # rotate one position to the right
print(l)  # deque([2, 3, 4, 1])

Zusätzlich kann die Methode „rotate()“ mit einem negativen Wert aufgerufen werden, um Elemente nach links zu verschieben:

l.rotate(-1)  # rotate one position to the left
print(l)  # deque([1, 2, 3, 4])

Die Verwendung von „collections.deque“ bietet eine einfache und einfache Möglichkeit Effizienter Mechanismus zum Rotieren von Listen in Python.

Das obige ist der detaillierte Inhalt vonGibt es eine effizientere Möglichkeit, Python-Listen zu rotieren als die Verkettung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn