[: -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 ist0
.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 ist1
.
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]
Verwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert