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.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups
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 )
separator 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 ( )
Einfache 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 ( ) )
Die dazu passende Ausgabe sieht so aus:
[ "Dies", "ist", "ein", "Beispieltext" ]
An 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 ( ", " ) )
Dadurch erhalten Sie folgende Ausgabe:
[ "Hund", "Katze", "Maus", "Pferd" ]
An 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 )
So sieht dann die Ausgabe aus:
[ "blau", "rot", "gelb", "orange" ]
Definieren 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 ) )
Das Ergebnis sieht dann so aus:
[ "blau, rot, gelb, orange" ]
maxsplit 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 ) )
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 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" ) )
Die entsprechende Ausgabe sieht zwar ungewöhnlich aus, funktioniert allerdings wie erwartet:
[ "Hund, K", "tze, M", "us, Pferd" ]
Nehmen 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 ) )
[ "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 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 )
Wir erhalten dadurch folgende Ausgabe:
[ "blau", "rot#gelb#orange" ]
Der 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 ) )
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 vorgenommen.