How to split strings with Python split

The internet programming language offers a way to split strings at fixed points using Python split. The type of split is determined by the two parameters, separator and maxsplit.

Web hosting with a personal consultant

Fast and scalable, including a free domain for the first year and email address, trust web hosting from IONOS!

Domain
Wildcard SSL
24/7 support

What is Python split?

Splitting a Python String may be helpful or even necessary in some cases. Python split is the appropriate tool for this. The split is usually done at the spaces in a string and can be controlled by different parameters. Python split’s different forms can be useful depending on the application.

What is the syntax and functionality of Python split?

The basic syntax of Python split looks like this:

string.split(separator, maxsplit)

separator and maxsplit are the parameters that you can choose between. Python split will split the corresponding string at every single space if no parameter is specified. The separator parameter specifies which string to split. The corresponding split will then take place where you have specified that it should occur. The maxsplit specifies how often the string should be split. The program will perform an infinite number of splits if you do not specify this parameter.

Python split separator examples

The following three simple examples illustrate how a string can be split using Python split. The basic structure can be found in our Python tutorial.

Split at spaces

The first code shows the chain being split at the spaces. The appropriate code for this is:

text = "This is a sample text"
print(text.split())

The output will look like this:

["This", "is", "a", "sample text"]

Split at commas

The string is split at the commas in the second example. This is the command:

animals = "dog, cat, mouse, horse"
print(animals.split(", " ))

This will result in the following output:

["dog", "cat", "mouse", "horse"]

Split at hashes

You can also perform a split by using the hash to differentiate terms from each other. The value x should be assigned to Python split in this process. This is the code:

colors = "blue#red#yellow#orange"
colors = col_string.split("#")
print (colors)

The output will look like:

["blue", "red", "yellow", "orange"]

How do I define maxsplit for Python split?

The second parameter maxsplit is also simple to use. The following three examples explain how it works:

maxsplit to 0

We’ll set maxsplit to 0 in the first example:

colors = "blue, red, yellow, orange"
print(colors.split(", ", 0))

The result looks like this:

["blue, red, yellow, orange"]

maxsplit to 1

However, the result will change if you set maxsplit to 1. This is the code:

colors = "blue, red, yellow, orange"
print(colors.split(", ", 1))

This is the output after Python split:

["blue", "red, yellow, orange"]

maxsplit to 2

Set maxsplit to 2 and run Python split for a double split. This is the code:

colors = "blue, red, yellow, orange"
print(colors.split(", ", 2))

This is the result:

["blue", "red", "yellow, orange"]

How do I use Python split within single words?

While the default variant is to split using commas or spaces, you can also split strings within specific words. In the following example, we use animal names again and split them at the letter a. It works like this:

animals = "dog, cat, mouse, horse"
print(animals.split("a"))

The output looks unusual, but works as expected:

["dog, c", "t, mouse, horse"]

The parameter maxsplit allows you to limit the number of splits to one. You will get the following picture:

animals = "dog, cat, mouse, horse"
print(animals.split("a", 1))
["dog, c", "t, mouse, horse"]

How do I convert string to list with Python split?

Converting a string into a Python List is a popular and useful function in Python split. You need the separator and maxsplit parameters to do this. In the following example, the list of colors is split at the hashes and sorted by maxsplit into a list with max two elements. We set maxsplit to the value 1 to do this. The corresponding code looks like this:

col_string = "blue#red#yellow#orange"
colors = col_string.split("#", 1)
print(colors)

We get the following output as a result:

["blue", "red#yellow#orange"]

What is the difference between Python split and rsplit?

The rsplit method is also available in addition to Python split. rsplit is similar to the examples presented already and it actually outputs the exact same result in many cases. The output will be identical especially if the optional maxsplit parameter is not specified. However, if you set the separator parameter to none, leaving it blank, and specify the value 2 for maxsplit, there will be a difference:

animals = "dog, cat, mouse, horse"
print(animals.split(None, 2))

The output with Python split is:

["dog", "cat", "mouse, horse"]

So Python split splits the string from the left. Using rsplit using the following code will result in:

animals = "dog, cat, mouse, horse"
print(animals.rsplit(None, 2))

You will receive this output:

["dog, cat," "mouse," "horse"]

The split with rsplit is made on the right in this case.