What is Partition() Function in Python?

What is Partition() Function in Python?

5 mins read466 Views Comment
Updated on Apr 24, 2023 01:43 IST

This blog explains Partition() Function in Python with the help of example. Let’s understand!

2023_04_Copy-of-Copy-of-Feature-Image-Templates-22.jpg

In Python, by using the partition() function, you can divide a string into three parts and store them in a tuple. This function separates the string at the first instance of the given separator argument and returns the segment before the separator, the separator itself, and the section following the separator.  

This article will make you understand its use with the help of examples. We will be covering the following sections: 

Introduction to partition() Function in Python 

Python’s partition() function is a built-in string method that allows you to split a string into three parts based on a specified separator. This function extracts specific information from a string, such as a filename and its extension or a domain name and its top-level domain. 

The partition() function is a convenient and efficient way to extract information from a string without using regular expressions or complex parsing algorithms. It is widely used in Python programming and particularly useful when working with text data.  

Syntax of partition() 

The syntax of partition() function in Python is given as follows: 

 
string.partition(separator)
Copy code

Parameters of partition() 

Here, string is the string that you want to partition, and separator is the character or substring at which you want to split the string.  

Return Value of partition() 

The partition() function returns a tuple that contains three elements: 

  • The part of the string before the separator 
  • The separator itself 
  • The part of the string after the separator 

If the specified separator is not found in the string, the function will return a tuple containing the original string as the first element, followed by two empty strings. 

It is important to note that the partition() function does not modify the original string. Rather, it returns a new tuple with the partitioned strings.  

Understanding expandtabs() Function in Python
Understanding expandtabs() Function in Python
This blog explains expandtabs() Function in Python. Let’s understand this with the help of relevant examples.
How to Remove Punctuation from Python String?
How to Remove Punctuation from Python String?
This blog explains how to remove punctuations from Python String. We have covered three methord here string.punctuation, regular Expression and translate(). Let’s explore!
__init__ Method in Python
__init__ Method in Python
In this article we will learn about __init__ Method,Inheritance of __init__ Method,calling __init__ Method.This topic is covered with examples in python.

Examples of Using the partition() Function in Python 

Example 1: Extracting file extensions 

The partition() function can be used to extract the file extension from a file name. For example: 

 
filename = "mydocument.txt"
name, _, extension = filename.partition(".")
print(extension)
Copy code

Output: 

txt 

In this example, the string “mydocument.txt” is partitioned at the dot character “.”. The resulting tuple is divided into three variables: name, _ (a throwaway variable representing the separator), and extension. The extension variable contains the file extension, which is “txt” in this case. 

Example 2: Parsing URLs 

The partition() function can be used to split a URL into its constituent parts. For example: 

 
url = "https://www.example.com/index.html"
scheme, _, domain = url.partition("://")
domain, _, path = domain.partition("/")
print(scheme) # Output: "https"
print(domain) # Output: "www.example.com"
print(path) # Output: "index.html"
Copy code

In this example, the string “https://www.example.com/index.html” is partitioned at the “://” separator to extract the scheme (which is “https”) and the domain (which is “www.example.com”). The domain is then further partitioned at the “/” separator to extract the path (which is “index.html”). 

Example 3: Splitting text data 

The partition() function can be used to split text data into sections based on a separator. For example: 

 
text = "Mary had a little lamb, its fleece was white as snow"
before, _, after = text.partition("fleece")
print(before) # Output: "Mary had a little lamb, its "
print(after) # Output: " was white as snow"
Copy code

In this example, the string “Mary had a little lamb, its fleece was white as snow” is partitioned at the word “fleece”. The resulting tuple is unpacked into three variables: before_, and after. The before variable contains the part of the string before “fleece” (which is “Mary had a little lamb, its “), while the after variable contains the part of the string after “fleece” (which is ” was white as snow”). 

Example 4: Extracting keys and values from a query string 

If you have a query string in a URL, you can use the partition() function to extract the keys and values from it. For example: 

 
query = "name=John&age=30&gender=male"
name, _, rest = query.partition("&")
age, _, gender = rest.partition("&")
print(name.partition("=")[2]) # Output: "John"
print(age.partition("=")[2]) # Output: "30"
print(gender.partition("=")[2]) # Output: "male"
Copy code

In this example, the string “name=John&age=30&gender=male” is first partitioned at the “&” separator to extract the first key-value pair (“name=John”) and the remaining part of the query string (“age=30&gender=male”). The remaining string is then partitioned again to extract the second key-value pair (“age=30”) and the last key-value pair (“gender=male”). Finally, the partition() function is used again to extract the values from each key-value pair. 

Example 5: Parsing log files 

If you have log files that contain data in a specific format, you can use the partition() function to extract the relevant information. For example, if you have log files that contain lines like “2022-03-29 14:27:01 – INFO – User logged in”, you can use the partition() function to extract the date, time, log level, and message. Here’s how: 

 
log = "2022-03-29 14:27:01 - INFO - User logged in"
date, _, rest = log.partition(" ")
time, _, rest = rest.partition(" ")
level, _, message = rest.partition(" - ")
print(date) # Output: "2022-03-29"
print(time) # Output: "14:27:01"
print(level) # Output: "INFO"
print(message) # Output: "User logged in"
Copy code

In this example, the log string is first partitioned at the space character to extract the date and the remaining part of the string. The remaining string is then partitioned at the space character again to extract the time and the remaining part of the string. Finally, the partition() function is used to extract the log level and the message from the remaining string. 

Hope these examples help you understand the versatility and usefulness of the partition() function in Python 

Endnotes 

The partition() function in Python is a useful tool for splitting strings at the first occurrence of a specified separator. It is a simple yet powerful function that can save your time and effort when working with strings in Python. 

Hope this article was helpful for you. If you wish to learn more about Python and practice Python programming, you can explore related articles here

FAQs

What happens if the separator is not found in the string?

If the separator is not found in the string, the partition() function returns a tuple containing the original string as the first element, followed by two empty strings.

Can you use the partition() function with multiple separators?

No, the partition() function only splits the string at the first occurrence of the specified separator. If you need to split the string at multiple separators, you can use the split() function instead.

What is the difference between the partition() and rpartition() functions?

The partition() function splits the string at the first occurrence of the separator from the left, while the rpartition() function splits the string at the last occurrence of the separator from the right. So, if you want to split the string at the last occurrence of the separator, you should use the rpartition() function instead.

Can you use the partition() function with non-string data types?

No, the partition() function only works with strings. If you need to split other types of data, you can use the appropriate functions for those types.

Is the partition() function case-sensitive?

Yes, the partition() function is case-sensitive. So, if you specify a separator with uppercase or lowercase letters, it will only split the string at the exact match of the separator with the same case.

About the Author

This is a collection of insightful articles from domain experts in the fields of Cloud Computing, DevOps, AWS, Data Science, Machine Learning, AI, and Natural Language Processing. The range of topics caters to upski... Read Full Bio