Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine Liste in Python effizient rotieren?

Wie kann ich eine Liste in Python effizient rotieren?

Susan Sarandon
Freigeben: 2024-12-15 10:07:14
Original
907 Leute haben es durchsucht

How Can I Efficiently Rotate a List in Python?

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:

  1. Importieren Sie die Deque-Klasse: Importieren Sie Deque aus Sammlungen.
  2. Initialisieren Sie eine Deque aus der ursprünglichen Liste: items = deque(list()).
  3. Um die Deque zu drehen, verwenden Sie die Methode „rotate()“. Angabe der Anzahl der zu verschiebenden Positionen. Positive Werte werden nach rechts verschoben, während negative Werte nach links verschoben werden.
  4. Rufen Sie das erste Element aus der Deque mit popleft() oder popright() ab, um die gedrehte Liste zu erhalten.

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]
Nach dem Login kopieren

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!

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