String Slicing


String-Slicing in Python ist eine Technik, mit der du Teilstücke (Substrings) aus einem String herausschneiden kannst, ohne dass der ursprüngliche String verändert wird (Strings sind unveränderlich in Python).


Grundsyntax

string[start:stop:step]
  • start → Index, bei dem das Slicing beginnt (inklusive).
  • stop → Index, bei dem das Slicing endet (exklusiv, d.h. das Zeichen an dieser Stelle wird nicht mehr genommen).
  • step → Schrittweite (Standard ist 1).

Beispiele

1. Einfaches Slicing

text = "Python"
print(text[0:4])   # 'Pyth' (Index 0 bis 3)
print(text[:4])    # 'Pyth' (Start weggelassen → Beginn bei 0)
print(text[2:])    # 'thon' (bis zum Ende)
print(text[:])     # 'Python' (gesamter String)

2. Negative Indizes

Python erlaubt auch negative Indizes, die von hinten zählen:

print(text[-1])    # 'n'  (letztes Zeichen)
print(text[-3:])   # 'hon'
print(text[:-2])   # 'Pyth'

3. Schrittweite (step)

Mit step kannst du Zeichen überspringen:

print(text[::2])   # 'Pto' (jedes 2. Zeichen)
print(text[1::2])  # 'yhn' (jedes 2. Zeichen, Start bei Index 1)

4. Umkehrung eines Strings

print(text[::-1])  # 'nohtyP' (gesamten String rückwärts)

5. Kombinationen

print(text[1:5:2])   # 'yh' (Start=1, Stop=5, Step=2)
print(text[-5:-1:2]) # 'yh' (gleicher Effekt mit negativen Indizes)

Merksätze

  • Start inklusiv, Stop exklusivstring[a:b] enthält a aber nicht b.
  • Wenn ein Index fehlt, wird der Anfang oder das Ende genommen.
  • Mit step steuerst du, wie „groß die Sprünge“ sind.
  • Negative Indizes zählen von rechts nach links.

Grafische Übersicht, wie die Indizes bei Strings in Python gezählt werden.

Nehmen wir den String:

text = "Python"

Indizes von links (positiv) und rechts (negativ):

   P    y    t    h    o    n
   0    1    2    3    4    5     → positive Indizes (links nach rechts)
  -6   -5   -4   -3   -2   -1     → negative Indizes (rechts nach links)

Beispiele mit der Grafik

  1. text[0]'P' (erstes Zeichen)
  2. text[-1]'n' (letztes Zeichen)
  3. text[1:4]'yth' (Index 1 bis 3) P y t h o n ^-----^
  4. text[::2]'Pto' (jedes zweite Zeichen) P y t h o n ^ ^ ^
  5. text[::-1]'nohtyP' (komplett umgedreht)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert