0%

Mit Text arbeiten · Übung

Entnimm Abschnitte mit Slices

Mit einem Index rufst du ein Zeichen ab. Ein Slice liefert eine Folge von Zeichen als neuen String.

word = "planet"
beginning = word[0:3]
print(beginning)

Die Ausgabe lautet pla.

Start eingeschlossen, Ende ausgeschlossen

Ein einfacher Slice hat zwei Indizes, getrennt durch einen Doppelpunkt:

text[start:stop]

Der Startindex ist eingeschlossen. Der Endindex ist nicht eingeschlossen.

Bei word[0:3] nimmt Python die Indizes 0, 1 und 2. Es stoppt vor Index 3.

Der String planet ist mit positiven und negativen Indizes dargestellt. Ein Slice beginnt am eingeschlossenen Index 0, stoppt vor dem ausgeschlossenen Index 3 und gibt 'pla' zurück.

Diese Regel wirkt anfangs vielleicht ungewohnt, hat aber nützliche Folgen. Die Anzahl der Zeichen in word[0:3] ist 3 - 0, also drei. Im Diagramm bedeutet INCLUDED „eingeschlossen“, EXCLUDED „ausgeschlossen“ und RESULT „Ergebnis“. START und STOP markieren die beiden Grenzen.

Lass eine Grenze weg

Lass den Start weg, um vom Anfang an auszuschneiden:

print(word[:3])

Lass das Ende weg, um bis zum Ende auszuschneiden:

print(word[3:])

Diese Aufrufe geben pla und net aus.

Auch in Slices kannst du negative Indizes verwenden:

print(word[-3:])

Das entnimmt die letzten drei Zeichen: net.

Slices sind nachsichtig

Ein einzelner Index außerhalb des Strings meldet einen IndexError. Ein Slice darf über das Ende hinausreichen, ohne fehlzuschlagen:

print(word[:100])

Python gibt alle verfügbaren Zeichen zurück. Dieser Unterschied ist nützlich. Trotzdem solltest du Slice-Grenzen wählen, die deine Absicht klar ausdrücken.

Was gibt dieses Programm aus?

text = "notebook"
print(text[4:])

Teile einen Kurstitel auf

Der Ausgangsstring lautet:

Python Fundamentals

Verwende zwei Slices:

  • Weise language den Wert Python zu;

  • weise level den Wert Fundamentals zu.

Tippe diese fertigen Strings nicht als wörtliche Antworten ein. Leite sie mit der Slice-Schreibweise aus course ab.

Die Ausgabe muss so aussehen:

Language: Python
Level: Fundamentals

Aufgabe

Schneide den vorhandenen String course so zu, dass language zu Python und level zu Fundamentals wird.

Erzeuge diese Ausgabe:

Language: Python
Level: Fundamentals