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 exklusiv →
string[a:b]enthältaaber nichtb. - 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
text[0]→'P'(erstes Zeichen)text[-1]→'n'(letztes Zeichen)text[1:4]→'yth'(Index 1 bis 3)P y t h o n ^-----^text[::2]→'Pto'(jedes zweite Zeichen)P y t h o n ^ ^ ^text[::-1]→'nohtyP'(komplett umgedreht)