LU04k - Slicing

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]
  1. start: Der Index, bei dem das Slicing beginnen soll.
  2. stop: Der Index, bei dem das Slicing aufhören soll. Das Element am Stop-Index wird nicht eingeschlossen.
  3. 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]

Weglassen von Indices

Es ist möglich, einen oder mehrere der Indizes wegzulassen:

  1. start weglassen: Beginnt das Slicing am Anfang der Sequenz.
  2. stop weglassen: Endet das Slicing am Ende der Sequenz.
  3. 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:

  1. Extrahiere die Elemente zwischen den Indizes -4 und -1. Das ergibt die Liste [2, 3, 4].
  2. Kehre diese Liste um, was [4, 3, 2] ergibt.
  3. Nimm nur jeden zweiten Wert dieser umgekehrten Liste, was schließlich [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.

  • modul/m323/learningunits/lu04/slicing.txt
  • Zuletzt geändert: 2024/03/28 14:07
  • von 127.0.0.1