Python split: So teilen Sie Zeichenfolgen
Mit Python split bietet Ihnen die Internet-Programmiersprache eine Möglichkeit, Zeichenfolgen an festen Punkten zu teilen. Wie genau diese Teilung aussieht, bestimmen Sie durch die beiden Parameter separator und maxsplit.
- 3x schneller und 60 % günstiger
- Maximale Verfügbarkeit mit > 99.99 %
- Nur bei IONOS: Bis zu 500 GB Speicherplatz inklusive
Was ist Python split?
In einigen Fällen kann es hilfreich oder sogar notwendig sein, einen Python String zu trennen. Die passende Methode dafür ist Python split. Die Teilung wird dabei in der Regel an den Leerzeichen in einer Zeichenkette vorgenommen und kann durch unterschiedliche Parameter gesteuert werden. Dazu gibt es unterschiedliche Formen von Python split, die je nach Anwendung sinnvoll sein können.
Syntax und Funktionsweise von Python split
Die grundsätzliche Syntax von Python split sieht so aus:
string.split ( separator, maxsplit )pythonseparator und maxsplit sind die beiden Parameter, die optional verwendet werden können. Wird kein Parameter angegeben, teilt Python split die entsprechende Zeichenkette bei jedem einzelnen Leerzeichen. Der Parameter separator gibt an, welche Zeichenkette geteilt werden soll. Wann immer diese dann vorkommt, findet die entsprechende Teilung statt. Mit maxsplit können Sie festlegen, wie häufig der String geteilt werden soll. Wenn Sie diesen Parameter nicht festlegen, nimmt das Programm eine unendliche Anzahl von Teilungen vor. Die Werte der beiden Parameter werden jeweils in runde Klammern geschrieben. So sieht Python split im Code aus:
string.split ( separator, maxsplit )
separator ( )
maxsplit ( )textEinfache Beispiele für Python split mit separator
Möchten Sie Python split ausprobieren, eignen sich diese drei einfachen Beispiele, um zu veranschaulichen, wie eine Zeichenfolge geteilt werden kann. Den grundsätzlichen Aufbau finden Sie in einem Python-Tutorial.
An Leerzeichen teilen
Im ersten Code wird die Kette ganz regulär an den Leerzeichen geteilt. Der passende Code dafür ist dieser:
text = "Dies ist ein Beispieltext"
print ( text.split ( ) )pythonDie dazu passende Ausgabe sieht so aus:
['Dies', 'ist', 'ein', 'Beispieltext']textAn Kommata teilen
Im zweiten Beispiel teilen Sie die Zeichenfolge an den Kommata. Das ist der passende Befehl:
tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.split ( ", " ) )pythonDadurch erhalten Sie folgende Ausgabe:
['Hund', 'Katze', 'Maus', 'Pferd']textAn der Raute teilen
Sie können auch durch eine Raute Begriffe voneinander abgrenzen und so eine Teilung vornehmen. Zusätzlich weisen Sie Python split dabei den Wert x zu. Das ist der entsprechende Code:
farben = "blau#rot#gelb#orange"
x = farben.split ( "#" )
print ( x )pythonSo sieht dann die Ausgabe aus:
['blau', 'rot', 'gelb', 'orange']textDefinieren Sie maxsplit für Python split
Ähnlich einfach funktioniert der zweite Parameter maxsplit. Seine Funktionsweise erklären diese drei Beispiele:
maxsplit auf 0
Im ersten Beispiel setzen wir maxsplit auf 0:
farben = "blau, rot, gelb, orange"
print ( farben.split ( ", ", 0 ) )pythonDas Ergebnis sieht dann so aus:
['blau, rot, gelb, orange']textmaxsplit auf 1
Setzen Sie maxsplit auf 1, ändert sich allerdings das Ergebnis. Dies ist der Code:
farben = "blau, rot, gelb, orange"
print ( farben.split ( ", ", 1 ) )pythonDies ist die Ausgabe nach Python split:
['blau', 'rot, gelb, orange']textmaxsplit auf 2
Für eine doppelte Teilung stellen Sie maxsplit auf 2 und führen Python split durch. Das ist der passende Code:
farben = "blau, rot, gelb, orange"
print ( farben.split ( ", ", 2 ) )pythonSo sieht das Ergebnis aus:
['blau', 'rot', 'gelb, orange']textPython split innerhalb einzelner Worte
Zwar ist die Standardvariante eine Teilung über Kommata oder Leerzeichen; Sie können allerdings auch Zeichenreihen innerhalb bestimmter Worte teilen. Im folgenden Beispiel nehmen wir wieder unsere Tiernamen und teilen sie beim Buchstaben a. Das funktioniert so:
tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.split ( "a" ) )pythonDie entsprechende Ausgabe sieht zwar ungewöhnlich aus, funktioniert allerdings wie erwartet:
['Hund, K', 'tze, M', 'us, Pferd']textNehmen Sie nun noch den Parameter maxsplit hinzu und beschränken so die Anzahl der Trennungen auf eins, ergibt sich folgendes Bild:
tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.split ( "a", 1 ) )python['Hund, K', 'tze, Maus, Pferd']textString in eine Liste umwandeln mit Python split
Eine beliebte und häufig sehr nützliche Funktion von Python split ist die Umwandlung eines Strings in eine Python List. Dafür benötigen Sie beide Parameter separator und maxsplit. Im folgenden Beispiel wird unsere Liste mit Farben an den Rauten geteilt und durch maxsplit in eine Liste mit maximal zwei Elementen sortiert. Dafür setzen wir maxsplit auf den Wert 1. Der entsprechende Code sieht so aus:
farben = "blau#rot#gelb#orange"
x = farben.split ( "#", 1 )
print ( x )pythonWir erhalten dadurch folgende Ausgabe:
['blau', 'rot#gelb#orange']textDer Unterschied zwischen Python split und rsplit
Neben Python split gibt es auch die Methode rsplit. Diese ähnelt der hier vorgestellten Variante und gibt in vielen Anwendungsfällen tatsächlich das exakt gleiche Ergebnis aus. Insbesondere wenn der optionale Parameter maxsplit nicht angegeben wird, ist die Ausgabe identisch. Wenn Sie allerdings den Parameter separator auf none setzen – ihn somit frei lassen – und für maxsplit den Wert 2 angeben, erkennen Sie einen Unterschied:
tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.split ( None, 2 ) )pythonHier die Ausgabe mit Python split:
['Hund,', 'Katze,', 'Maus, Pferd']textPython split teilt den String also von links. Wenn Sie nun rsplit mit folgendem Code verwenden:
tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.rsplit ( None, 2 ) )pythonerhalten Sie diese Ausgabe:
['Hund, Katze,', 'Maus,', 'Pferd']textDie Teilung wird also rechts vorgenommen.


