Heim > Backend-Entwicklung > Python-Tutorial > Python – Ermitteln Sie die Summe der letzten K-Listenelemente mithilfe von Slicing

Python – Ermitteln Sie die Summe der letzten K-Listenelemente mithilfe von Slicing

WBOY
Freigeben: 2023-09-06 11:17:06
nach vorne
1530 Leute haben es durchsucht

Python - 使用切片获取最后K个列表项的总和

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.

Algorithmus

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.

Grammatik

sequence[start:end:step]
Nach dem Login kopieren

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.

Beispiel 1: Ermitteln Sie die Summe der letzten K Elemente mithilfe der Slicing-Methode

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,

ergibt
my_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)
Nach dem Login kopieren

Ausgabe

Sum of last 4 items: 340
Nach dem Login kopieren

Beispiel 2: Verwendung der Tail-Funktion im Sammlungsmodul

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

Ausgabe

[6, 7, 8, 9, 10]
Nach dem Login kopieren

Beispiel 3: Verwendung der islice-Funktion aus dem itertools-Modul

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

Ausgabe

[6, 8, 10]
Nach dem Login kopieren

Fazit

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!

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