How to use Split in Python

Read it in 13 Mins

Last updated on
07th Jun, 2022
Published
11st Jul, 2020
Views
8,572
How to use Split in Python

The split function is a string manipulation tool in Python.  A string is a collection or array of characters in a sequence that is written inside single quotes, double quotes, or triple quotes; a character ‘a’ in Python is also considered a string value with length 1. The split function is used when we need to break down a large string into smaller strings. 

Strings represent Unicode character values and are mutable in nature which means the value of a string cannot be altered after it has been declared. Alternatively, to learn about sys.argv command line argument click here.  

 

An example of declaring and displaying a string in Python: 

name = “Python” 
print(name[0]) 

Although we cannot change a string after the declaration, we can split a string into different strings using a variety of different ways in Python.  

In this article, we will take a deeper dive and understand how to use Split is in Python. We will begin by understanding what the Split function does, what the need is for such a function and how we work with this function. We will then take a look at Split parameters in Python and the different ways of using the Split function along with available python programming training options. 

Also, check out the use of Self Variable in Python!

What is Split in Python? 

If you have worked on the concatenation of strings that are used to merge or combine different strings into one, the split function performs just the opposite of it. The function scans through a string and separates it when it encounters a separator which has been specified before.  

However, if the function does not find any defined separator, it uses white space by default.  

The syntax of the Split function is as follows: 

string.split(separator,max) 

The separator is a character that has been pre-defined and it gets placed between each variable in the output. The split function depends on the value of the separator variable. 

What is the need for Split function? 

The Split function returns a list of words after separating the string or line with the help of a delimiter string such as the comma ( , ) character. 

Some of the merits of using Split function in Python are listed as follows: 

  • It is useful in situations where you need to break down a large string into smaller strings. 
  • If the separator is not present within the split function, the white spaces are considered as separators. 
  • The split function helps to analyze and deduce conclusions easily. 
  • It is also useful in decoding strings encrypted in some manner.  

How to work with Split function? 

Strings variables in Python contain numeric and alphanumeric data which are used to store data directories or display different messages. They are very useful tools for programmers working in Python.  

The .split() method is a beneficial tool for manipulating strings. It returns a list of strings after the main string is separated by a delimiter. The method returns one or more new strings and the substrings also get returned in the list datatype.  

A simple example of the split function is as follows: 

x = ‘red,orange,yellow’ 
x.split(“,”) 
[‘red’, ‘orange’, ‘yellow’] 

Here, we have declared a string variable with three strings. When the split function is implemented with a comma ( , ) as a separator, the strings get separated with commas in between them.  

What are Split parameters in Python? 

The Split function analyses through a string and separates it whenever the program comes across a pre-defined separator. It depends on mainly three different parameters to optimize the execution of the program: 

  • Separator - It instructs Python where to break the string. It works as a delimiter and the string is separated depending upon the pre-defined separator. It is optional which means if the separator is not specified in split, the function uses white space as the default separator. However, if the separator is specified as a string value, the output will be an empty string. 
  • Maxsplit-  It specifies the number of times the string can be broken up. It is also optional and it’s default value is -1 which denotes that there are no limits on the number of times a string can be split. If the maxsplit is not defined in the split function, the entire string is scanned and Python separates it whenever a delimiter is encountered.    
  • Return - It returns a list of strings after the split function breaks the string by the specified separator. 

What are the different ways of using the Split function? 

Python consists of several different ways by which we can implement the Split function. The different techniques are explained below: 

Python consists of several different ways by which we can implement the Split function. You can learn all such advanced techniques with our advanced python developer course as well. 

The different techniques are explained below: 

Splitting String by Space 

The split() method in Python splits the string on whitespace if no argument is specified in the function. An example of splitting a string without an argument is shown below: 

str = “Python is cool” 
print(str.split()) 

The output of the above code is as follows: 

[‘Python’, ‘is’, ‘cool’] 

In the example above, we have declared variable str with a string value. You can see that we have not defined any arguments in the Split function, so the string gets split with whitespaces.  

Splitting String on first occurrence 

When we split a string based on the first occurrence of a character, it results in two substrings – the first substring contains the characters before the separator and the second substring contains the character after the separator.  

An example of splitting a string on the first occurrence of a character is shown below: 

str = “abcabc” 
print(str.split(c)) 

The output of the above code is as follows: 

[‘ab’, ‘abc’] 

Here, we have declared str with a string value abcabc. The split function is implemented with separator as “c” and maxsplit value is taken as 1. Whenever the program encounters “c” in the string, it separates the string into two substrings  – the first string contains characters before “c” and the second one contains characters after “c”.  

Splitting a file into a list 

When you want to split a file into a list, the result turns out to be another list wherein each of the elements is a line of your file. Consider you have a file that contains two lines “First line\nSecond Line”. The resulting output of the split function will be [ “First Line”, “Second line”]. You can perform a file split using the Python in-built function splitlines()

Consider you have a file named “sample.txt” which contains two lines with two strings in each line respectively – “Hi there”, “You are learning Python”

An example of splitting “sample.txt” into a list is shown below: 

f = open(“sample.txt”, “r”) 
info = f.read() 
print(info.splitlines()) 
f.close() 

The output of the above code is as follows: 

[‘Hi there’, ‘You are learning Python’] 

We have a file “sample.txt” which is opened in read (“r”) mode using the open() function. Then, we have called f.read() which returns the entire file as a string. The splitlines() function is implemented and it splits the file into two different substrings which are the two lines contained in “sample.txt”

Splitting a String by newline character (\n) 

You can split a string using the newline character (\n) in Python. We will take a string which will be separated by the newline character and then split the string. The newline character will act as the separator in the Split function.  

An example of splitting a string by newline character is shown below: 

str = “Welcome\nto\nPython\nSplit” 
print(str.split(‘\n’)) 

The output of the above code is as follows: 

[‘Welcome’, ‘to’, ‘Python’, ‘Split’] 

Here, we have declared a variable str with a string that contains newline characters (\n) in between the original string.The Split function is implemented with “\n”  as the separator. Whenever the function sees a newline character, it separates the string into substrings.  

You can also perform split by newline character with the help of the splitlines() function. 

Splitting a String by tab (\t) 

Tabs are considered as escape characters “\t” in text (.txt) files. When we split a string by tabs, the Split function separates the string at each tab and the result is a list of substrings. The escape character “\t” is used as the separator in the Split function. 

An example of splitting a string by tab is shown below: 

str = “Python\tis\ta\tscripting\tlanguage” 
print(str.split(“\t”)) 

The output of the above code is as follows: 

['Python', 'is', 'a', 'scripting', 'language'] 

Here, the variable str is declared with a string with tabs (“\t”). The Split function is executed with “\t” as the separator. Whenever the function finds an escape character, it splits the string and the output comes out to be a list of substrings. 

Splitting a String by comma (,) 

We can also split a string by commas (“,”) where commas act as the delimiter in the Split function. The result is a list of strings that are contained in between the commas in the original string.  

An example of splitting a string by commas is shown below: 

str = “Python,was,released,in,1991” 
print(str.split(“,”)) 

The output of the above code is as follows: 

['Python', 'was', 'released', 'in', '1991'] 

Here, the variable str is declared with a string with commas (“,”)  in between themThe Split function is implemented with ,”  as the separator. Whenever the function sees a comma character, it separates the string and the output is a list of substrings between the commas in str

Splitting a String with multiple delimiters 

You can split a string using multiple delimiters by putting different characters as separator in the Split function. A delimiter is one or more characters in a sequence that are used to denote the bounds between regions in a text. A comma character (“,”) or a colon (“:”) is an example of a delimiter. A string with multiple delimiters can be split using the re.split() function. 

An example of splitting a string with multiple delimiters is shown below: 

import re 
str = 'Python\nis; an*easy\nlanguage' 
print(re.split('; |, |\*|\n',str)) 

The output of the above code is as follows: 

['Python', 'is', 'an', 'easy', 'language'] 

In the example above, we import the built-in module re which imports the libraries and functions of Regular Expressions. The variable str is declared with a string with multiple delimiters like newline (\n), semicolon (;), or an asterisk (*). There.split() function is implemented with different delimiters as separator and the output is a list of strings excluding the delimiters.  

Splitting a String into a list 

When you split a string into a list around a delimiter, the output comes out to be a partitioned list of substrings. You can take any delimiter as a separator in the Split function to separate the string into a list. 

An example of splitting a string into a list is shown below: 

str = “New York-Texas-Colombia” 
print(str.split(“-”)) 

The output of the above code is as follows: 

['New York', 'Texas', 'Colombia'] 

The variable str is declared with a string with dash characters( - ) in between and the Split function is executed with a dash ( - )  as the separator. The function splits the string whenever it encounters a dash and the result is a list of substrings. 

Splitting a String by hash (#) 

You can also split any string with a hash character (#) as the delimiter. The Split function takes a hash (#) as the separator and then splits the string at the point where a hash is found. The result is a list of substrings.  

An example of splitting a string using a hash is shown below: 

str = “Python#isa#multi-purpose#language” 
print(str.split(“#”)) 

The output of the above code is as follows: 

['Python', 'is a', 'multi-purpose', 'language'] 

The variable str is declared with a string with hash characters( # ) in between them. The Split function is executed with a hash as the separator. The function splits the string wherever it finds a hash  ( # ) and the result is a list of substrings excluding the hash character. 

Splitting a String using maxsplit parameter 

The maxsplit parameter defines the maximum number of splits the function can do. You can perform split by defining a value to the maxsplit parameter. If you put whitespaces as separator and the maxsplit value to be 2, the Split function splits the string into a list with maximum two items.  

An example of splitting a string using the maxsplit parameter is shown below: 

subjects = “Maths Science English History Geography” 
print(subjects.split(“ ”,2)) 

The output of the above code is as follows: 

['Maths', 'Science', 'English History Geography'] 

 Here, you can see the variable str is declared with a string of different subject names. The Split function takes whitespace (“ ”) as a separator and the maximum number of splits or maxsplit is 2. The first two strings Maths and “Science” are split and the rest of them are in a single string. 

Splitting a String into an array of characters 

You can separate a string into an array of characters with the help of the list(function. The result is a list where each of the element is a specific character.  

An example of splitting a string into an array of characters  is shown below: 

str = “PYTHON” 
print(list(str)) 

The output of the above code is as follows: 

['P', 'Y', 'T', 'H', 'O', 'N'] 

Here, the variable str is a string. The string is separated into individual characters using the list(function and the result is a list of elements with each character of the string. 

Splitting a String using substring 

You can obtain a string after or before a specific substring with the split() function. A specific string is given as the separator in the Split function and the result comes out to be the strings before and after that particular string.   

An example of splitting a string using substring  is shown below: 

fruits = “Orange Banana Mango Apple Cherry” 
print(fruits.split(“Mango”)) 

The output of the above code is as follows: 

['Orange Banana ', ' Apple Cherry'] 

Here, the variable fruits is a string with names of different fruits. We take the string “Mango” as the separator in the Split function. Whenever the function finds the string “Mango”, it splits the whole string into two substrings – one substring before “Mango” and another substring after “Mango”.  

Miscellaneous tips on Split function 

Since we have now reached at the end of the article, let me give you some useful tips on the Split function: 

  1. If the maxsplit is not defined in the function and there are enough delimiters in the string, the result will have a length of maxsplit +1.
  2. If you want to recombine a string that has been already split in Python, you can perform the concatenation of strings.
  3. The Python Split function only works on string variables. If you come across any problem with working with split, you can force the compiler to treat the variable as a string with str(x).

Conclusion

The .split() function in Python is a very useful tool to split strings into chunks depending upon a delimiter which could be anything starting from characters or numbers or even text. You can also specify the number of splits you want the function to perform using maxsplit, which is used to extract a specific value or text from any given string using list or Arrays. 

Here are the key areas you should have gained a good understanding on by reading this article: 

  • What is a String. 
  • What is Split and why is it needed. 
  • How does a Python Split function work. 
  • What are the Split parameters. 
  • What are the many different ways of Splitting strings in Python 
  • Important tips on Split 

You have learned about the Python split function and the different ways to implement in your program. With this, you can begin to work on any project which requires the use of the Split.  

If you wish to extend your knowledge about Strings and Split function in Python, you can refer to the official documentation of Python. Don’t forget to check out the remaining tutorials made freely available to you. Enrolling in the Knowledgehut python programming training program will help you get certified Python skills that you need to excel in your career.

FAQs

1. What is split () function in Python?

The split() function in python helps us split strings based on a separating delimeter. By default, the delimeter is a space character but we can provide another value such as a "," or a ";" in the split() function as well. 

2. How do you implement a split function in Python?

Each string in Python can directly use the split function. The syntax is as follows, 

string.split() 

For example, if a string "temp;temp" is assigned to a variable x, x.split(";") will give us a list of ['temp', 'temp']. 

3. How do you split a list in Python?

Splitting a list is slightly tricky in Python but not impossible. Basically, to split a list (or any iterable), we first use the len() function to get the length of the list. Then, we floor divide it by 2 to get the middle index, and then we assign the list to two variables with the middle as index. 

For example, 

x = [12, 48, 42] 
l = len(x) 
middle = l // 2 
first, second = x[:middle], x[middle:] 

The above code will split the list. 

Profile

Priyankur Sarkar

Data Science Enthusiast

Priyankur Sarkar loves to play with data and get insightful results out of it, then turn those data insights and results in business growth. He is an electronics engineer with a versatile experience as an individual contributor and leading teams, and has actively worked towards building Machine Learning capabilities for organizations.