TL; DR:
myslice = myslice[:len(myslice) - 1]
Übrigens wird dies scheitern, wenn "myslice" die Größe 0 hat.
Lange Antwort:
myslice = myslice[:len(myslice) - 1]
Dies wird fehlschlagen, wenn "myslice" Null Größe.
Slices sind Datenstrukturen, die auf ein zugrunde liegendes Array zeigen, und Operationen wie das Slicen eines Slices verwenden dasselbe zugrunde liegende Array.
Das bedeutet, dass wenn Sie eine Scheibe schneiden, die neue Scheibe immer noch auf die gleichen Daten wie die ursprüngliche Scheibe zeigt.
Wenn Sie das oben beschriebene tun, befindet sich das letzte Element immer noch im Array, aber Sie können es nicht mehr referenzieren.
bearbeiten
Klarstellung: Wenn Sie das Stück auf seine ursprüngliche Länge partitionieren werden Sie das letzte Objekt
/bearbeiten
Wenn Sie ein wirklich haben verweisen können, Big Slice und Sie möchten auch das zugrunde liegende Array beschneiden, um Speicher zu sparen. Wahrscheinlich wollen Sie "copy" verwenden, um ein neues Slice mit einem kleineren darunter liegenden Array zu erstellen und den alten großen Slice Müll sammeln zu lassen.
Was schlägt fehl, wenn 'len (slice) == 0':' panic: Laufzeitfehler: Slice-Grenzen außerhalb des Bereichs '. – peterSO
... nun ja. Das war nicht Teil der Frage .. aber ich werde meine Antwort aktualisieren, um damit zu helfen. –
Auch, nein: =, Scheibe ist bereits definiert. :) – LinearZoetrope