Mit Python split bietet Ihnen die Internet-Pro­gram­mier­spra­che eine Mög­lich­keit, Zei­chen­fol­gen an festen Punkten zu teilen. Wie genau diese Teilung aussieht, bestimmen Sie durch die beiden Parameter separator und maxsplit.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz 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 Leer­zei­chen in einer Zei­chen­ket­te vor­ge­nom­men und kann durch un­ter­schied­li­che Parameter gesteuert werden. Dazu gibt es un­ter­schied­li­che Formen von Python split, die je nach Anwendung sinnvoll sein können.

Syntax und Funk­ti­ons­wei­se von Python split

Die grund­sätz­li­che Syntax von Python split sieht so aus:

string.split ( separator, maxsplit )

separator und maxsplit sind die beiden Parameter, die optional verwendet werden können. Wird kein Parameter angegeben, teilt Python split die ent­spre­chen­de Zei­chen­ket­te bei jedem einzelnen Leer­zei­chen. Der Parameter separator gibt an, welche Zei­chen­ket­te geteilt werden soll. Wann immer diese dann vorkommt, findet die ent­spre­chen­de 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 un­end­li­che Anzahl von Teilungen vor. Die Werte der beiden Parameter werden jeweils in runde Klammern ge­schrie­ben. So sieht Python split im Code aus:

string.split ( separator, maxsplit )
	separator ( )
	maxsplit ( )

Einfache Beispiele für Python split mit separator

Möchten Sie Python split aus­pro­bie­ren, eignen sich diese drei einfachen Beispiele, um zu ver­an­schau­li­chen, wie eine Zei­chen­fol­ge geteilt werden kann. Den grund­sätz­li­chen Aufbau finden Sie in einem Python-Tutorial.

An Leer­zei­chen teilen

Im ersten Code wird die Kette ganz regulär an den Leer­zei­chen geteilt. Der passende Code dafür ist dieser:

text = "Dies ist ein Beispieltext"
print ( text.split ( ) )

Die dazu passende Ausgabe sieht so aus:

[ "Dies", "ist", "ein", "Beispieltext" ]

An Kommata teilen

Im zweiten Beispiel teilen Sie die Zei­chen­fol­ge an den Kommata. Das ist der passende Befehl:

tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.split ( ", " ) )

Dadurch erhalten Sie folgende Ausgabe:

[ "Hund", "Katze", "Maus", "Pferd" ]

An der Raute teilen

Sie können auch durch eine Raute Begriffe von­ein­an­der abgrenzen und so eine Teilung vornehmen. Zu­sätz­lich weisen Sie Python split dabei den Wert x zu. Das ist der ent­spre­chen­de Code:

farben = "blau#rot#gelb#orange"
x = farben.split ( "#" )
print ( x )

So sieht dann die Ausgabe aus:

[ "blau", "rot", "gelb", "orange" ]

De­fi­nie­ren Sie maxsplit für Python split

Ähnlich einfach funk­tio­niert der zweite Parameter maxsplit. Seine Funk­ti­ons­wei­se 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 ) )

Das Ergebnis sieht dann so aus:

[ "blau, rot, gelb, orange" ]

maxsplit auf 1

Setzen Sie maxsplit auf 1, ändert sich al­ler­dings das Ergebnis. Dies ist der Code:

farben = "blau, rot, gelb, orange"
print ( farben.split ( ", ", 1 ) )

Dies ist die Ausgabe nach Python split:

[ "blau", "rot, gelb, orange" ]

maxsplit 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 ) )

So sieht das Ergebnis aus:

[ "blau", "rot", "gelb, orange" ]

Python split innerhalb einzelner Worte

Zwar ist die Stan­dard­va­ri­an­te eine Teilung über Kommata oder Leer­zei­chen; Sie können al­ler­dings auch Zei­chen­rei­hen innerhalb be­stimm­ter Worte teilen. Im folgenden Beispiel nehmen wir wieder unsere Tiernamen und teilen sie beim Buch­sta­ben a. Das funk­tio­niert so:

tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.split ( "a" ) )

Die ent­spre­chen­de Ausgabe sieht zwar un­ge­wöhn­lich aus, funk­tio­niert al­ler­dings wie erwartet:

[ "Hund, K", "tze, M", "us, Pferd" ]

Nehmen Sie nun noch den Parameter maxsplit hinzu und be­schrän­ken so die Anzahl der Tren­nun­gen auf eins, ergibt sich folgendes Bild:

tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.split ( "a", 1 ) )
[ "Hund, K", "tze, Maus, Pferd" ]

String in eine Liste umwandeln mit Python split

Eine beliebte und häufig sehr nützliche Funktion von Python split ist die Um­wand­lung 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 ent­spre­chen­de Code sieht so aus:

farben = "blau#rot#gelb#orange"
x = farben.split ( "#", 1 )
print ( x )

Wir erhalten dadurch folgende Ausgabe:

[ "blau", "rot#gelb#orange" ]

Der Un­ter­schied zwischen Python split und rsplit

Neben Python split gibt es auch die Methode rsplit. Diese ähnelt der hier vor­ge­stell­ten Variante und gibt in vielen An­wen­dungs­fäl­len tat­säch­lich das exakt gleiche Ergebnis aus. Ins­be­son­de­re wenn der optionale Parameter maxsplit nicht angegeben wird, ist die Ausgabe identisch. Wenn Sie al­ler­dings den Parameter separator auf none setzen – ihn somit frei lassen – und für maxsplit den Wert 2 angeben, erkennen Sie einen Un­ter­schied:

tiere = "Hund, Katze, Maus, Pferd"
print ( tiere.split ( none, 2 ) )

Hier die Ausgabe mit Python split:

[ "Hund", "Katze", "Maus, Pferd" ]

Python 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 ) )

erhalten Sie diese Ausgabe:

[ "Hund, Katze", "Maus", "Pferd" ]

Die Teilung wird also rechts vor­ge­nom­men.

Zum Hauptmenü