Das Slicing-Feature in Python ist eine leistungsstarke Funktion, die es erlaubt, Teile einer Sequenz wie einer Liste, eines Strings oder eines Tupels zu extrahieren. Es kann auch zum Ändern von Sequenzen verwendet werden.
Die grundlegende Syntax für das Slicing lautet wie folgt:
sequenz[start:stop:step]
start
: Der Index, bei dem das Slicing beginnen soll.stop
: Der Index, bei dem das Slicing aufhören soll. Das Element am Stop-Index wird nicht eingeschlossen.step
: Die Schrittgröße, die angibt, wie die Elemente ausgewählt werden.numbers = [0, 1, 2, 3, 4, 5] subset = numbers[1:4] #[1, 2, 3]
Es ist möglich, einen oder mehrere der Indizes wegzulassen:
start
weglassen: Beginnt das Slicing am Anfang der Sequenz.stop
weglassen: Endet das Slicing am Ende der Sequenz.step
weglassen: Verwendet eine Schrittgröße von 1.numbers = [0, 1, 2, 3, 4, 5] all_numbers = numbers[:] #[0, 1, 2, 3, 4, 5]
Negative Indizes können für start
und stop
verwendet werden, um von hinten zu starten und zu stoppen:
numbers = [0, 1, 2, 3, 4, 5] last_three = numbers[-3:-1] #[3, 4]
Im obigen Beispiel beginnt das Slicing beim drittletzten Element (Index -3
) und endet beim zweitletzten Element (Index -1
, exklusiv), wodurch die Liste [3, 4]
extrahiert wird.
Die Schrittgröße (step
) kann auch negativ sein, um die Sequenz rückwärts zu durchlaufen:
numbers = [0, 1, 2, 3, 4, 5] reversed_numbers = numbers[::-1] #[5, 4, 3, 2, 1, 0]
Das Slicing funktioniert auch für Strings und Tupel, da sie Sequenztypen sind:
text = 'Python' sliced_text = text[1:4] #'yth'
Man kann auch mehrere Slicing-Operationen verkettet anwenden:
numbers = [1, 2, 3, 4, 5] chained_slicing = numbers[-4:-1][::-1][::2] #[4, 2]
In diesem Beispiel werden drei Slicing-Operationen nacheinander ausgeführt:
-4
und -1
. Das ergibt die Liste [2, 3, 4]
.[4, 3, 2]
ergibt.[4, 2]
ergibt.Slicing ist ein vielseitiges Feature in Python für den Umgang mit Sequenztypen. Es bietet eine Menge Flexibilität für den Zugriff, die Extraktion und die Manipulation von Daten.