Heim > Backend-Entwicklung > Python-Tutorial > Wie kann Pythons „collections.deque' die Listenrotation optimieren?

Wie kann Pythons „collections.deque' die Listenrotation optimieren?

Susan Sarandon
Freigeben: 2024-12-16 22:39:13
Original
910 Leute haben es durchsucht

How Can Python's `collections.deque` Optimize List Rotation?

Effiziente Listenrotation in Python: Ein alternativer Ansatz

Der bereitgestellte Python-Code rotiert eine Liste effizient, indem er ihre Abschnitte zerlegt und kombiniert. Es gibt jedoch eine optimiertere Lösung mit „collections.deque“.

Verwendung der Rotate-Methode von deque

deque ist eine Datenstruktur, die für effizientes Einfügen und Löschen an beiden Enden entwickelt wurde. Es bietet eine spezielle Methode „rotate()“ zum Drehen seiner Elemente. Dieser Ansatz ist besonders bei großen Listen von Vorteil.

from collections import deque

items = deque([1, 2])
items.append(3)        # deque == [1, 2, 3]
items.rotate(1)        # deque == [3, 1, 2]
items.rotate(-1)       # Returns deque to original state: [1, 2, 3]
item = items.popleft() # deque == [2, 3]
Nach dem Login kopieren

Im obigen Beispiel:

  • Elemente werden mit append() zur Deque hinzugefügt.
  • rotate (1) dreht die Deque um eine Position nach rechts (im Uhrzeigersinn).
  • rotate(-1) dreht sie um eine Position nach links (gegen den Uhrzeigersinn).
  • popleft() entfernt, wie rotation(), effizient ein Element vom linken Ende.

Das obige ist der detaillierte Inhalt vonWie kann Pythons „collections.deque' die Listenrotation optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage