PCEP-30-02 1.0 – Computerprogrammierung und Grundlagen von Python (18 %)
PCEP-30-02 1.1 - Grundlegende Begriffe und Definitionen verstehen
PCEP-30-02 1.2 – Logik und Struktur von Python verstehen
PCEP-30-02 1.3 – Literale und Variablen in Code einführen und verschiedene Zahlensysteme nutzen
PCEP-30-02 1.4 – Operatoren und Datentypen passend zum Problem wählen
PCEP-30-02 1.5 – Eingabe-/Ausgabe-Operationen in der Konsole durchführen
PCEP-30-02 2.0 – Kontrollfluss – Bedingte Blöcke und Schleifen (29%)
PCEP-30-02 2.1 – Entscheidungen treffen und den Programmfluss mit „if“ steuern
PCEP-30-02 3.0 – Datenkollektionen – Tupel, Dictionaries, Listen und Strings (25%)
PCEP-30-02 3.1 – Daten mit Listen sammeln und verarbeiten
PCEP-30-02 3.3 – Daten mit Dictionaries sammeln und verarbeiten
PCEP-30-02 3.4 – Mit Strings arbeiten
PCEP-30-02 4.0 – Funktionen und Ausnahmen (28%)
PCEP-30-02 4.3 – Python Built-In Exceptions Hierarchie
PCEP-30-02 4.4 – Grundlagen der Fehlerbehandlung in Python

Python: Slicing von Tupeln

PCEP-30-02 3.2 – tuple slicing

Slicing (Teilauswahl von Elementen)

Das Slicing von Tupeln funktioniert in Python auf ähnliche Weise wie bei Listen. Es ermöglicht dir, einen Teil des Tupels auszuwählen, indem du Start-, End- und Schritt-Indizes angibst. Das Ergebnis des Slicings ist immer ein neues Tupel, da Tupel unveränderlich (immutable) sind.

Syntax des Slicings

Die Syntax für das Slicing lautet:

tupel[start:end:step]

Bedeutung der Parameter:

  • start: Der Index, an dem das Slicing beginnt (inklusive).
  • end: Der Index, an dem das Slicing endet (exklusive).
  • step: Die Schrittweite; gibt an, wie viele Elemente übersprungen werden. Der Standardwert ist 1.

Beispiele für Slicing

1. Grundlegendes Slicing

mein_tupel = (10, 20, 30, 40, 50)

# Elemente von Index 1 (inklusive) bis 4 (exklusive)
print(mein_tupel[1:4]) # Ausgabe: (20, 30, 40)

# Elemente von Index 0 (inklusive) bis 3 (exklusive)
print(mein_tupel[0:3]) # Ausgabe: (10, 20, 30)

2. Slicing mit Standardwerten

Wenn start, end oder step weggelassen wird, gelten Standardwerte:

  • start = 0 (Anfang des Tupels)
  • end = Länge des Tupels
  • step = 1
mein_tupel = (10, 20, 30, 40, 50)

# Von Anfang bis zum Ende
print(mein_tupel[:]) # Ausgabe: (10, 20, 30, 40, 50)

# Von Index 2 bis zum Ende
print(mein_tupel[2:]) # Ausgabe: (30, 40, 50)

# Vom Anfang bis Index 3 (exklusive)
print(mein_tupel[:3]) # Ausgabe: (10, 20, 30)

3. Slicing mit Schrittweite

Die Schrittweite (step) wird verwendet, um Elemente in Abständen auszuwählen:

mein_tupel = (10, 20, 30, 40, 50)

# Jedes zweite Element
print(mein_tupel[::2]) # Ausgabe: (10, 30, 50)

# Jedes dritte Element
print(mein_tupel[::3]) # Ausgabe: (10, 40)

4. Negatives Slicing

Du kannst negative Werte für start, end oder step verwenden. Dies ermöglicht das Slicing von hinten nach vorne.

  • Negative Indizes: Der letzte Wert hat den Index -1, der vorletzte -2 usw.
  • Negativer Schritt: Damit kannst du Tupel umkehren.
mein_tupel = (10, 20, 30, 40, 50)

# Letzte drei Elemente (negative Indizes)
print(mein_tupel[-3:]) # Ausgabe: (30, 40, 50)

# Tupel umkehren
print(mein_tupel[::-1]) # Ausgabe: (50, 40, 30, 20, 10)

# Von Index -2 bis -5 (Richtung umkehren)
print(mein_tupel[-2:-5:-1]) # Ausgabe: (40, 30, 20)

5. Leere Tupel durch ungültige Indizes

Wenn start und end Indizes keine übereinstimmenden Elemente definieren, wird ein leeres Tupel zurückgegeben.

mein_tupel = (10, 20, 30, 40, 50)

# Slicing mit unpassenden Indizes
print(mein_tupel[4:2]) # Ausgabe: () (leeres Tupel)

Zusammenfassung

  • Slicing ist eine flexible Methode, um Teile eines Tupels zu extrahieren.
  • Standardeinträge ([start:end:step]) nutzen:
    • start: Position, von wo das Extrahieren startet, Standard = 0.
    • end: Position, bei der das Extrahieren stoppt (exklusive), Standard = Länge des Tupels.
    • step: Schrittweite, Standard = 1.
  • Negative Werte können verwendet werden, um rückwärts zu iterieren oder das Tupel umzukehren.