Heim > Artikel > Backend-Entwicklung > Python – Ermitteln Sie die Summe der letzten K-Listenelemente mithilfe von Slicing
In Python ermöglicht uns die Slicing-Methode, bestimmte Elemente aus einer Sequenz wie einer Zeichenfolge, einer Liste oder einem Tupel zu extrahieren. Es bietet eine übersichtliche und flexible Möglichkeit, Teilsequenzen innerhalb größerer Sequenzen zu verarbeiten. In diesem Artikel untersuchen wir, wie man mithilfe der Slicing-Operation die Summe der letzten K Elemente in einer Liste erhält.
Um die Summe der letzten K Elemente in einer Liste zu ermitteln, können wir einem einfachen Algorithmus folgen:
Akzeptiert eine Liste und den Wert von K als Eingabe.
Extrahieren Sie die letzten K Elemente mit dem Slicing-Operator aus der Liste.
Berechnen Sie die Summe der extrahierten Elemente.
Die Summe als Ausgabe zurückgeben.
sequence[start:end:step]
Hier akzeptiert die Slice-Methode drei optionale Parameter:
start (optional): Der Index des Elements, an dem das Slice beginnen soll. Wenn nicht angegeben, wird standardmäßig der Anfang der Sequenz verwendet.
end (optional): Der Index (exklusiv) des Elements, an dem der Slice enden soll. Wenn nicht angegeben, wird standardmäßig das Ende der Sequenz verwendet.
step (optional): Der Schritt- oder Inkrementwert für die Auswahl von Elementen. Wenn nicht angegeben, ist er standardmäßig 1.
Die Start-, End- und Schrittwerte können positive oder negative ganze Zahlen sein, sodass Sie die Sequenz sowohl in Vorwärts- als auch in Rückwärtsrichtung durchlaufen können.
Durch die Angabe negativer Indizes im Slice können wir am Ende der Liste beginnen und rückwärts durchlaufen. Hier ist die Syntax, um die Summe der letzten K-Listenelemente mithilfe von Slicing zu ermitteln:
Im folgenden Beispiel haben wir eine Liste my_list mit 10 Elementen. Wir möchten die Summe der letzten 4 Elemente in der Liste ermitteln. Mithilfe des Slice-Operators [-K:] geben wir den Bereich vom vierten bis zum Element an −letztes Element bis zum Ende der Liste. Die Funktion sum() berechnet dann die Summe der extrahierten Elemente, was 280,
ergibtmy_list = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] K = 4 sum_of_last_k = sum(my_list[-K:]) print("Sum of last", K, "items:", sum_of_last_k)
Sum of last 4 items: 340
Die Tail-Funktion aus dem Collections-Modul ist eine praktische Möglichkeit, die letzten N Elemente aus einer Sequenz zu extrahieren. Dadurch können Sie Slicing mit negativen Indizes vermeiden.
Im folgenden Beispiel importieren wir die Deque-Klasse aus dem Collections-Modul und geben die erforderliche maximale Länge (maxlen) als N an. Indem wir die Zahlenliste und maxlen=N an deque übergeben, erstellen wir ein deque-Objekt, das nur die letzten N Elemente enthält. Verwenden Sie list(tail_elements), um das Deque-Objekt in eine Liste umzuwandeln, und Sie können die Tail-Elemente [6, 7, 8, 9, 10] erhalten.
from collections import deque numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] N = 5 tail_elements = deque(numbers, maxlen=N) print(list(tail_elements))
[6, 7, 8, 9, 10]
Mit der islice-Funktion aus dem itertools-Modul können Sie eine bestimmte Teilsequenz aus einer Iterable, beispielsweise einer Liste oder einem String, extrahieren, indem Sie die Start-, Stopp- und Schrittwerte angeben
Im folgenden Beispiel importieren wir die islice-Funktion aus dem itertools-Modul, indem wir die Zahlenliste zusammen mit den Start-, Stopp- und Schrittwerten an islice(numbers, start, stop, step) übergeben [6, 8, 10]. Durch Konvertieren des Ergebnisses in eine Liste mit list(islice(...)) können wir die Teilsequenz drucken
from itertools import islice numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] start = 5 stop = 10 step = 2 subsequence = list(islice(numbers, start, stop, step)) print(subsequence)
[6, 8, 10]
In diesem Artikel haben wir besprochen, wie man die Slicing-Methode verwendet, um die Summe der letzten k Elemente zu erhalten. Die Slicing-Methode bietet eine präzise und effiziente Möglichkeit, solche Berechnungen durchzuführen und erleichtert das Ermitteln der Summe der letzten k Elemente der Liste. Die Slicing-Methode kann auch für andere Zwecke verwendet werden, z. B. zum Extrahieren von Teilsequenzen, zum Überspringen von Elementen mit Schrittwerten, zum Umkehren von Sequenzen, zum Abrufen der letzten k Elemente usw.
Das obige ist der detaillierte Inhalt vonPython – Ermitteln Sie die Summe der letzten K-Listenelemente mithilfe von Slicing. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!