Heim >Backend-Entwicklung >Python-Tutorial >Python-Programm zum Drehen von Listenelementen

Python-Programm zum Drehen von Listenelementen

WBOY
WBOYnach vorne
2023-08-19 10:01:091469Durchsuche

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)]

#Für Rechtsdrehung

list_1 = [list_1[(i - 3) % len(list_1)]

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))

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]

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]

#rotateright -

list_1 = list_1[-3:] + list_1[:-3]

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))

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]

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)
Ausgabe
[83 1 2 4 10 18]

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))

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]

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen