Python-Programm zum Drehen von Listenelementen

WBOY
Freigeben: 2023-08-19 10:01:09
nach vorne
1417 Leute haben es durchsucht

Python-Programm zum Drehen von Listenelementen

In Python können Sie Listen verwenden, um mehrere Elemente in einer einzigen Variablen zu verwalten. Listen sind einer der vier integrierten Datentypen von Python, die zum Speichern von Datensammlungen verwendet werden. Die anderen drei Typen, Tupel, Mengen und Wörterbücher, haben jeweils unterschiedliche Funktionen. Listen werden mit eckigen Klammern erstellt. Da Listen nicht homogen sein müssen, sind sie die nützlichsten Werkzeuge in Python. Eine Liste kann Datentypen wie Zeichenfolgen, Objekte und Ganzzahlen enthalten. Listen können nach ihrer Generierung geändert werden, da sie veränderbar sind.

Dieser Artikel konzentriert sich auf die Kurzschrift und die vielen Abkürzungen, um das Konzept in einem Satz oder einem Wort auszudrücken. Dieser Vorgang ist für Programmierer sehr wichtig und kann viel Arbeit erledigen. Wir werden Python verwenden, um vier verschiedene Möglichkeiten zu zeigen, diese Aufgabe zu lösen.

Verwendung des Listenverständnisses

Bei Verwendung dieser Methode müssen wir den Index jedes Elements in der Liste nur nach der Drehung an einer bestimmten Position neu zuweisen. Aufgrund seiner kleineren Umsetzung spielt dieser Ansatz eine wichtige Rolle bei der Lösung der Aufgabe.

Algorithmus

  • Zuerst eine Liste definieren.

  • Verwenden Sie das Listenverständnis.

  • Zum Anbringen von zwei verschiedenen Seiten rechts (i-Index) und links (i+Index).

  • Drucken Sie die Ausgabeliste.

Grammatik

#rotateleft

list_1 = [list_1[(i + 3) % len(list_1)]
Nach dem Login kopieren

#Für Rechtsdrehung

list_1 = [list_1[(i - 3) % len(list_1)]
Nach dem Login kopieren

Beispiel

Hier haben wir in diesem Code das Listenverständnis verwendet, um die Elemente in einer Liste zu drehen, wobei die For-Schleife nach rechts und links verwendet wird, um die Liste der Elemente zu durchlaufen.

list_1 = [10, 14, 26, 37, 42]
print (" Primary list : " + str(list_1))
list_1 = [list_1[(i + 3) % len(list_1)]
   for i, x in enumerate(list_1)]
print ("Output of the list after left rotate by 3 : " + str(list_1))
list_1 = [list_1[(i - 3) % len(list_1)]
   for i, x in enumerate(list_1)]
print ("Output of the list after right rotate by 3(back to primary list) : "+str(list_1))
list_1 = [list_1[(i + 2) % len(list_1)]
   for i, x in enumerate(list_1)]
print ("Output of the list after left rotate by 2 : " + str(list_1))
list_1 = [list_1[(i - 2) % len(list_1)]
   for i, x in enumerate(list_1)]
print ("Output of the list after right rotate by 2 : "+ str(list_1))
Nach dem Login kopieren

Ausgabe

Primary list : [10, 14, 26, 37, 42]
Output of the list after left rotate by 3 : [37, 42, 10, 14, 26]
Output of the list after right rotate by 3(back to primary list) : [10, 14, 26, 37, 42]
Output of the list after left rotate by 2 : [26, 37, 42, 10, 14]
Output of the list after right rotate by 2 : [10, 14, 26, 37, 42]
Nach dem Login kopieren

Hier haben wir in diesem Code das Listenverständnis verwendet, um die Elemente in einer Liste zu drehen, wobei die For-Schleife nach rechts und links verwendet wird, um die Liste der Elemente zu durchlaufen.

Scheiben verwenden

Diese spezielle Technik ist die Standardtechnik. Mit der Rotationszahl wird einfach die später geschnittene Komponente mit dem früher geschnittenen Teil verbunden.

Algorithmus

  • Zuerst eine Liste definieren.

  • Verwenden Sie die Schneidemethode.

  • Drucken Sie jede Liste nach der Rechts- und Linksdrehung.

Grammatik

ZUM SCHNEIDEN

#rotateleft -

list_1 = list_1[3:] + list_1[:3]
Nach dem Login kopieren

#rotateright -

list_1 = list_1[-3:] + list_1[:-3]
Nach dem Login kopieren

Beispiel

Das folgende Programm ordnet die Elemente einer Liste neu an: [11, 34, 26, 57, 92]. Das heißt, die ersten drei Elemente werden ans Ende verschoben [57, 92, 11, 34, 26] Drehen Sie dann um 3 nach rechts, sodass sich die letzten drei Elemente hin und her zu ihren ursprünglichen Positionen bewegen [11,34,26,57,92].

Drehen Sie dann zweimal nach rechts, um die letzten beiden Elemente nach vorne zu verschieben und erhalten Sie [26, 57, 92, 11, 34]. Drehen Sie abschließend einmal nach links und verschieben Sie ein Element vom Anfang zum Ende, um [57, 92, 11, 34, 26] zu erhalten.

list_1 = [11, 34, 26, 57, 92]
print (" Primary list : " + str(list_1))
list_1 = list_1[3:] + list_1[:3]
print ("Output of the list after left rotate by 3 : " + str(list_1))
list_1 = list_1[-3:] + list_1[:-3]
print ("Output of the list after right rotate by 3(back to Primary list) : "+str(list_1))
list_1 = list_1[-2:] + list_1[:-2]
print ("Output of the list after right rotate by 2 : "+ str(list_1))
list_1 = list_1[1:] + list_1[:1]
print ("Output of the list after left rotate by 1 : " + str(list_1))
Nach dem Login kopieren

Ausgabe

Primary list : [11, 34, 26, 57, 92]
Output of the list after left rotate by 3 : [57, 92, 11, 34, 26]
Output of the list after right rotate by 3(back to Primary list) : [11, 34, 26, 57, 92]
Output of the list after right rotate by 2 : [57, 92, 11, 34, 26]
Output of the list after left rotate by 1 : [92, 11, 34, 26, 57]
Nach dem Login kopieren

Verwendung des Numpy-Moduls

Mithilfe der angegebenen Achse können wir auch das Modul numpy.roll in Python verwenden, um die Elemente in der Liste zu drehen. Die Elemente des Eingabearrays werden entsprechend verschoben. Wenn ein Element von der ersten zur letzten Position verschoben wird, kehrt es an seine ursprüngliche Position zurück.

Algorithmus

  • Numpy.roll-Modul importieren

  • Definieren Sie die Liste und geben Sie den jeweiligen Index an.

  • Drucken Sie die Ausgabeliste.

Beispiel

Eine Liste „Nummer“ wird erstellt und ihr werden die Werte 1, 2, 4, 10, 18 und 83 zugewiesen. Die Variable i wird auf 1 gesetzt. Anschließend wird die Funktion „np.roll()“ aus der NumPy-Bibliothek verwendet auf der Listennummer mit einem Argument von i, das jedes Element in der Liste um eine Indexposition verschiebt (das erste Element wird zum letzten).

import numpy as np
if __name__ == '__main__':
   number = [1, 2, 4, 10, 18, 83]
   i = 1
   x = np.roll(number, i)
   print(x)
Nach dem Login kopieren
Ausgabe
[83 1 2 4 10 18]
Nach dem Login kopieren

Verwenden voncollections.deque.rotate()

Die Funktion

rotate() ist eine integrierte Funktion, die von der Deque-Klasse im Collections-Modul bereitgestellt wird und zum Implementieren von Rotationsoperationen verwendet wird. Obwohl weniger bekannt, ist diese Funktion praktischer.

Algorithmus

Importieren Sie zunächst die Deque-Klasse aus dem Sammlungsmodul.
  • Definieren Sie eine Liste
  • Masterliste drucken
  • Verwenden Sie die Funktion „Rotate()“, um Elemente zu drehen
  • Drucken Sie die Ausgabe.
  • Beispiel
Das folgende Programm verwendet die Deque-Datenstruktur aus dem Sammlungsmodul, um eine Liste zu drehen. Die ursprüngliche Liste wird um 3 nach links gedreht und die neue gedrehte Liste wird dann nach rechts (zurück zur ursprünglichen Position) ausgedruckt 3 und druckt die resultierende Liste aus.

from collections import deque
list_1 = [31, 84, 76, 97, 82]
print ("Primary list : " + str(list_1))
list_1 = deque(list_1)
list_1.rotate(-3)
list_1 = list(list_1)
print ("Output list after left rotate by 3 : " + str(list_1))
list_1 = deque(list_1)
list_1.rotate(3)
list_1 = list(list_1)
print ("Output list after right rotate by 3(back to primary list) : "+ str(list_1))
Nach dem Login kopieren

Ausgabe

Primary list : [31, 84, 76, 97, 82]
Output list after left rotate by 3 : [97, 82, 31, 84, 76]
Output list after right rotate by 3(back to primary list) : [31, 84, 76, 97, 82]
Nach dem Login kopieren
Fazit

In diesem Artikel erklären wir kurz vier verschiedene Möglichkeiten, Elemente in einer Liste zu drehen.

Das obige ist der detaillierte Inhalt vonPython-Programm zum Drehen von Listenelementen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage