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
# Python3 code to demonstrate
# Substring removal in String list
# using list comprehension + replace()
# initializing list
test_list = ['4', 'kg', 'butter', 'for', '40', 'bucks']
# printing original list
print("The original list : " + str(test_list ))
# using list comprehension + replace()
# Substring removal in String list
res = [sub.replace('4', '') for sub in test_list]
# print result
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
# Python3 code to demonstrate
# Substring removal in String list
# using list comprehension + map() + lambda
# initializing list
test_list = ['4', 'kg', 'butter', 'for', '40', 'bucks']
# printing original list
print("The original list : " + str(test_list ))
# using list comprehension + map() + lambda
# Substring removal in String list
res = list(map(lambda st: str.replace(st, "4", ""), test_list))
# print result
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
# Python3 code to demonstrate
# Substring removal in String list
# using regular expression
import re
# Initialize the list of strings
test_list = ['4', 'kg', 'butter', 'for', '40', 'bucks']
# Regular expression pattern to match the substring
pattern = re.compile(r'4')
# Replace the substring using re.sub()
result = [pattern.sub('', string) for string in test_list]
# printing original list
print("The original list : " + str(test_list ))
# print result
print("The list after substring removal : " + str(result))
#this code contributed by tvsk
OutputThe 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
# Initialize the list of strings
test_list = ['4', 'kg', 'butter', 'for', '40', 'bucks']
# The substring to be removed
substring = '4'
# Loop through each string in the list and remove the substring
result = []
for string in test_list:
result.append(string.replace(substring, ''))
# printing original list
print("The original list : " + str(test_list ))
# print result
print("The list after substring removal : " + str(result))
#This code is contributed by Vinay pinjala.
OutputThe 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
Our task is to remove multiple substrings from a string in Python using various methods like string replace in a loop, regular expressions, list comprehensions, functools.reduce, and custom loops. For example, given the string "Hello world!" and substrings ["Hello", "ld"], we want to get " wor!" by
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
Replace Substrings from String List - Python
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
Python - Substring presence in Strings List
Given list of substrings and list of string, check for each substring, if they are present in any of strings in List. Input : test_list1 = ["Gfg", "is", "best"], test_list2 = ["I love Gfg", "Its Best for Geeks", "Gfg means CS"] Output : [True, False, False] Explanation : Only Gfg is present as subst
5 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
Reverse All Strings in String List in Python
We are given a list of strings and our task is to reverse each string in the list while keeping the order of the list itself unchanged. For example, if we have a list like this: ['gfg', 'is', 'best'] then the output will be ['gfg', 'si', 'tseb'].Using For LoopWe can use a for loop to iterate over th
2 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 comprehensionUsing
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