Lektionen des Moduls (2/4)
Slicing und Indizierung
In Python sind Strings Sequenzen von Zeichen: Du kannst über den Index auf
einzelne Zeichen zugreifen und Teilstrings mit der Slice-Syntax [start:stop:step]
herausschneiden — genau wie bei Listen.
Positive und negative Indizes
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)Ein Zugriff außerhalb des Bereichs löst einen IndexError aus.
Slicing [start:stop:step]
s = "Python"
s[0:3] # 'Pyt' indici 0,1,2 (stop ESCLUSO)
s[2:] # 'thon' dal 2 alla fine
s[:3] # 'Pyt' dall'inizio fino al 3 (escluso)
s[:] # 'Python' copia completa
s[-3:] # 'hon' ultimi 3
s[:-2] # 'Pyth' tutto tranne gli ultimi 2Im Gegensatz zur Indizierung löst Slicing KEINE Fehler aus, wenn die Indizes außerhalb des Bereichs liegen: Es schneidet heraus, was möglich ist.
Das dritte Argument: step
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] ist der direkte Weg, um einen String umzudrehen.
Länge und Enthaltensein
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # FalseNegative Indizes und Step beim Slicing
Die vollständige Syntax des Slicings lautet s[start:stop:step]. Wenn du start und stop weglässt, aber einen negativen step von -1 (s[::-1]) setzt, drehst du den String um. Der negative Index -1 steht immer für das letzte Zeichen des Strings, -2 für das vorletzte usw.
Probiere es aus
Gegeben sei `word = 'PROGRAMMAZIONE'`. Erhalte sein Gegenteil in `reversed_word`. Evaluiere `reversed_word`.
Hinweis anzeigen
word[::-1]
Lösung nach 3 Versuchen verfügbar
Wiederholungsübung
Gegeben sei `email = 'ada@example.com'`. Extrahiere die Domain (alles nach '@') in `domain` unter Verwendung von Slicing, nachdem du den Index mit .find gefunden hast. Evaluiere `domain`.
Hinweis anzeigen
email[email.find('@') + 1:]
Lösung nach 3 Versuchen verfügbar
Zusätzliche Herausforderung
Verwende bei dem String `word = "pythonista"` Slicing, um die ersten 3 Zeichen und die letzten 3 Zeichen zu extrahieren und sie zu einem neuen String `short_word` zu verketten. Evaluiere schließlich `short_word` (es sollte `'pytsta'` ergeben).
Hinweis anzeigen
Die ersten 3 Zeichen sind word[:3], die letzten 3 sind word[-3:]. Verkette die beiden Slices.
Lösung nach 3 Versuchen verfügbar