[: -1] in Python

Vaibhav Vaibhav 10 Oktober 2023
  1. Slicing in Python
  2. Bedeutung von [ : -1] in Python
[: -1] in Python

Slicing ist eine Operation in Programmiersprachen, die wir über Sequenzen von Objekten oder Arrays von Objekten oder Strings ausführen können. Beim Slicing schneiden wir eine Datenstruktur unter Verwendung von Funktionen und einfacheren Notationen, um einen Teilstring oder eine Teilsequenz oder ein Teilarray der ursprünglichen Datenstruktur zu erhalten.

Slicing in Python

Python ist eine Programmiersprache, was bedeutet, dass es auch Slicing unterstützt. In Python gibt es hauptsächlich zwei Möglichkeiten, wie wir das Slicing durchführen können. Die erste verwendet die Funktion slice() und die zweite verwendet die Indexierungssyntax.

Slicing in Python mit dem slice()-Konstruktor

Der Slice-Konstruktor akzeptiert drei Argumente: start, stop und step. Dieser Konstruktor erstellt ein Slicing-Objekt, um eine Zeichenkette oder eine beliebige Sequenz von Objekten zu teilen.

  • start: Dies ist der Startindex, ab dem das Slicing beginnen soll. Der Standardwert ist 0.
  • stop: Dies ist der Endindex, an dem das Slicen enden soll. Es ist ein obligatorisches Argument.
  • step: Dies ist die Anzahl der Inkremente, die beim Iterieren der Sequenz für den Slicing-Prozess verwendet werden sollen. Der Standardwert ist 1.

Um dieses Dienstprogramm etwas besser zu verstehen, sehen wir uns einige Beispiele an. Beachten Sie, dass in Python -1 den letzten Index darstellt. Und während der Indizierung oder Iteration wird der stop-Index im Endergebnis nicht berücksichtigt. Operationen werden über alles davor ausgeführt.

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

slices = [
    slice(5),
    slice(0, -1),
    slice(1, -1, 2),
    slice(1, 4, 1),
    slice(5, -1),
    slice(3, -1, 3),
    slice(0, 0),
    slice(-1, 0, -1),
    slice(-5, 5, -3),
]

for i in range(len(slices)):
    print(s[slices[i]])

for i in range(len(slices)):
    print(a[slices[i]])

Ausgabe:

ABCDE
ABCDEFGHIJKLMNOPQRSTUVWXY
BDFHJLNPRTVX
BCD
FGHIJKLMNOPQRSTUVWXY
DGJMPSVY

ZYXWVUTSRQPONMLKJIHGFEDCB
VSPMJG
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 8]
[2, 3, 4]
[6, 7, 8, 9]
[4, 7]
[]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
[]

Beachten Sie, dass, wenn ein einzelner Wert an den slice()-Konstruktor übergeben wird, der Wert dem stop-Index zugewiesen wird. Deshalb erhalten wir für slice(5) die Ausgabe als ABCDE.

Slicing in Python mit der Indexierungssyntax

In Python können wir, anstatt den Konstruktor slice() zum Erstellen von Slicing-Objekten zu verwenden, die folgende Syntax verwenden, um das Slicing durchzuführen.

sequence[start:stop:step]

Die akzeptierten Argumente sind dieselben wie bei der vorherigen Methode; Was sich wirklich ändert, ist die Art, sie zu schreiben. Die Standardwerte für start, stop und step sind jeweils 0, -1 und 1. Beachten Sie, dass wir das Argument überspringen können, um den Standardwert zu verwenden, aber es ist notwendig, die Kolons zu schreiben. Sehen wir uns einige Beispiele für die Indexierungssyntax an, um sie ein wenig besser zu verstehen.

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(s[5])
print(s[:-1])
print(s[0:-1])
print(s[1:-1:2])
print(s[1:4:1])
print(s[5:-1])
print(s[3:-1:3])
print(s[:0])
print(s[-1:0:-1])
print(s[-5:5:-3])
print(a[5])
print(a[:-1])
print(a[0:-1])
print(a[1:-1:2])
print(a[1:4:1])
print(a[5:-1])
print(a[3:-1:3])
print(a[:0])
print(a[-1:0:-1])
print(a[-5:5:-3])

Ausgabe:

F
ABCDEFGHIJKLMNOPQRSTUVWXY
ABCDEFGHIJKLMNOPQRSTUVWXY
BDFHJLNPRTVX
BCD
FGHIJKLMNOPQRSTUVWXY
DGJMPSVY

ZYXWVUTSRQPONMLKJIHGFEDCB
VSPMJG
6
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 8]
[2, 3, 4]
[6, 7, 8, 9]
[4, 7]
[]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
[]

Bedeutung von [ : -1] in Python

Wie wir sehen, gehört diese Syntax zur Indexierungssyntax. [ : -1] druckt alle Sequenzelemente außer dem letzten. Schauen Sie sich einige Beispiele an, um dieses Konzept zu verstehen.

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print(s[:-1])
print(a[:-1])

Ausgabe:

ABCDEFGHIJKLMNOPQRSTUVWXY
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python List