Python | Substring removal in String list
Last Updated :
09 Apr, 2023
While working with strings, one of the most used application is removing the part of string with another. Since string in itself is immutable, the knowledge of this utility in itself is quite useful. Here the removing of a substring in list of string is performed. Let’s discuss certain ways in which this can be performed.
Method #1 : Using list comprehension + replace() The replace method can be coupled with the list comprehension technique to achieve this particular task. List comprehension performs the task of iterating through the list and replace method replaces the section of substring with empty string.
Python3
test_list = [ '4' , 'kg' , 'butter' , 'for' , '40' , 'bucks' ]
print ("The original list : " + str (test_list ))
res = [sub.replace( '4' , '') for sub in test_list]
print ("The list after substring removal : " + str (res))
|
Output :
The original list : ['4', 'kg', 'butter', 'for', '40', 'bucks']
The list after substring removal : ['', 'kg', 'butter', 'for', '0', 'bucks']
Time Complexity: O(n)
Auxiliary Space: O(n), where n is length of list.
Method #2 : Using map() + lambda + replace() The combination of these functions can also be used to perform this particular task. The map and lambda help to perform the task same as list comprehension and replace method is used to perform the remove functionality. But this method is poor when it comes to performance than method above.
Python3
test_list = [ '4' , 'kg' , 'butter' , 'for' , '40' , 'bucks' ]
print ("The original list : " + str (test_list ))
res = list ( map ( lambda st: str .replace(st, " 4 ", ""), test_list))
print ("The list after substring removal : " + str (res))
|
Output :
The original list : ['4', 'kg', 'butter', 'for', '40', 'bucks']
The list after substring removal : ['', 'kg', 'butter', 'for', '0', 'bucks']
Time Complexity: O(n*n) where n is the number of elements in the string list. The map() + lambda + replace() is used to perform the task and it takes O(n*n) time.
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the string list.
Method#3: Using Regular expression.
Python3
import re
test_list = [ '4' , 'kg' , 'butter' , 'for' , '40' , 'bucks' ]
pattern = re. compile (r '4' )
result = [pattern.sub('', string) for string in test_list]
print ( "The original list : " + str (test_list ))
print ( "The list after substring removal : " + str (result))
|
Output
The original list : ['4', 'kg', 'butter', 'for', '40', 'bucks']
The list after substring removal : ['', 'kg', 'butter', 'for', '0', 'bucks']
Time Complexity: O(n)
Space Complexity: O(n)
Method #4: Using a loop and string.replace()
The given code removes a specified substring from each string in a list of strings by looping through each string and using the replace() function.
Here’s a step-by-step explanation of the algorithm:
- Initialize a list of strings test_list and a string substring to be removed.
- Initialize an empty list result to store the modified strings.
- Loop through each string in test_list using a for loop.
- Use the replace() function to remove the substring from the current string, and append the modified string to the result list.
- After the loop, return result.
Python3
test_list = [ '4' , 'kg' , 'butter' , 'for' , '40' , 'bucks' ]
substring = '4'
result = []
for string in test_list:
result.append(string.replace(substring, ''))
print ( "The original list : " + str (test_list ))
print ( "The list after substring removal : " + str (result))
|
Output
The original list : ['4', 'kg', 'butter', 'for', '40', 'bucks']
The list after substring removal : ['', 'kg', 'butter', 'for', '0', 'bucks']
The time complexity of this algorithm is O(n*m), where n is the number of strings in the list and m is the average length of each string. This is because we iterate through each string and replace the substring, which takes O(m) time for each string.
The auxiliary space of this algorithm is also O(n*m), since we create a new list of modified strings that has the same length and size as the original list.
Similar Reads
Python - Remove substring list from String
In Python Strings we encounter problems where we need to remove a substring from a string. However, in some cases, we need to handle a list of substrings to be removed, ensuring the string is adjusted accordingly. Using String Replace in a LoopThis method iterates through the list of substrings and
3 min read
Replace substring in list of strings - Python
We are given a list of strings, and our task is to replace a specific substring within each string with a new substring. This is useful when modifying text data in bulk. For example, given a = ["hello world", "world of code", "worldwide"], replacing "world" with "universe" should result in ["hello u
3 min read
Python - Remove String from String List
This particular article is indeed a very useful one for Machine Learning enthusiast as it solves a good problem for them. In Machine Learning we generally encounter this issue of getting a particular string in huge amount of data and handling that sometimes becomes a tedious task. Lets discuss certa
4 min read
Python - Remove after substring in String
Removing everything after a specific substring in a string involves locating the substring and then extracting only the part of the string that precedes it. For example we are given a string s="Hello, this is a sample string" we need to remove the part of string after a particular substring includin
3 min read
Python - Replace Substrings from String List
The task of replacing substrings in a list of strings involves iterating through each string and substituting specific words with their corresponding replacements. For example, given a list a = ['GeeksforGeeks', 'And', 'Computer Science'] and replacements b = [['Geeks', 'Gks'], ['And', '&'], ['C
3 min read
Subtract String Lists in Python
The task of subtracting string lists in Python involves removing elements of one list from another while preserving the order of the remaining elements. Given two lists, the goal is to filter out strings from the first list that are present in the second list. For example, with a = ["apple", "banana
3 min read
Python - Remove suffix from string list
To remove a suffix from a list of strings, we identify and exclude elements that end with the specified suffix. This involves checking each string in the list and ensuring it doesn't have the unwanted suffix at the end, resulting in a list with only the desired elements. Using list comprehensionUsin
3 min read
Python | Duplicate substring removal from list
Sometimes we can come to the problem in which we need to deal with certain strings in a list that are separated by some separator and we need to remove the duplicates in each of these kinds of strings. Simple shorthands to solve this kind of problem is always good to have. Let's discuss certain ways
7 min read
Python - Phrase removal in String
Sometimes, while working with Python strings, we can have a problem in which we need to extract certain words in a string excluding the initial and rear K words. This can have application in many domains including all those include data. Lets discuss certain ways in which this task can be performed.
2 min read
Python - Count Strings with substring String List
To count the occurrences of a particular substring in a list of strings in Python, we can use several methods. In this article, we are going to explore different methods to count the existence of a particular substring in a given list. Using sum() and Generator ExpressionThis method uses a generator
3 min read