====== LU04k - Slicing ======
===== Einleitung =====
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.
===== Grundlagen des Slicings =====
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.
==== Beispiele ====
numbers = [0, 1, 2, 3, 4, 5]
subset = numbers[1:4] #[1, 2, 3]
=== Weglassen von Indices ===
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 Indices ===
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.
=== Schrittgröße ===
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]
=== Strings und Tupel ===
Das Slicing funktioniert auch für Strings und Tupel, da sie Sequenztypen sind:
text = 'Python'
sliced_text = text[1:4] #'yth'
=== Verkettung von Slicing ===
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:
- Extrahiere die Elemente zwischen den Indizes ''-4'' und ''-1''. Das ergibt die Liste ''[2, 3, 4]''.
- Kehre diese Liste um, was ''[4, 3, 2]'' ergibt.
- Nimm nur jeden zweiten Wert dieser umgekehrten Liste, was schließlich ''[4, 2]'' ergibt.
===== Zusammenfassung =====
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.