Open In App

Python - Remove String from String List

Last Updated : 24 Mar, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

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 certain way outs to solve this problem. 

Method #1: Using remove() This particular method is quite naive and not recommended to use, but is indeed a method to perform this task. remove() generally removes the first occurrence of K string and we keep iterating this process until no K string is found in list. 

Python3
# Python 3 code to demonstrate
# Remove K String from String List
# using remove()

# initializing list
test_list = ["bad", "GeeksforGeeks", "bad", "is", "best", "bad"]

# Printing original list
print("Original list is : " + str(test_list))

# initializing K
K = "bad"

# using remove() to
# Remove K String from String List
while(K in test_list):
    test_list.remove(K)

# Printing modified list
print("Modified list is : " + str(test_list))
Output : 
Original list is : ['bad', 'GeeksforGeeks', 'bad', 'is', 'best', 'bad']
Modified list is : ['GeeksforGeeks', 'is', 'best']

Time Complexity: O(n), where n is the number of elements in the list “test_list”.
Auxiliary Space: O(1), constant extra space is required

Method #2: Using List Comprehension More concise and better approach to remove all the K strings, it just checks if the string is not K and re-makes the list with all strings that are not K. 

Python3
# Python 3 code to demonstrate
# Remove K String from String List
# using list comprehension

# initializing list
test_list = ["bad", "GeeksforGeeks", "bad", "is", "best", "bad"]

# Printing original list
print("Original list is : " + str(test_list))

# initializing K
K = "bad"

# using list comprehension to
# Remove K String from String List
test_list = [i for i in test_list if i != K]

# Printing modified list
print("Modified list is : " + str(test_list))
Output : 
Original list is : ['bad', 'GeeksforGeeks', 'bad', 'is', 'best', 'bad']
Modified list is : ['GeeksforGeeks', 'is', 'best']

Time Complexity: O(n)
Auxiliary Space: O(n), where n is length of list.

Method #3 : Using join(),replace(),split() and remove() methods

Python3
# Python 3 code to demonstrate
# Remove K String from String List

# initializing list
test_list = ["bad", "GeeksforGeeks", "bad", "is", "best", "bad"]

# Printing original list
print ("Original list is : " + str(test_list))

# initializing K
K = "bad"

x="-".join(test_list)
x=x.replace(K,"")
a=x.split("-")
while("" in a ):
    a.remove("")
# Printing modified list
print ("Modified list is : " + str(a))

Output
Original list is : ['bad', 'GeeksforGeeks', 'bad', 'is', 'best', 'bad']
Modified list is : ['GeeksforGeeks', 'is', 'best']

Here's another approach to removing a string 'K' from a string list, using a filter:

Python
# Python 3 code to demonstrate
# Remove K String from String List
# using filter()
 
# initializing list
test_list = ["bad", "GeeksforGeeks", "bad", "is", "best", "bad"]
 
# Printing original list
print("Original list is : " + str(test_list))
 
# initializing K
K = "bad"
 
# using filter to Remove K String from String List
test_list = list(filter(lambda x: x!=K, test_list))
 
# Printing modified list
print("Modified list is : " + str(test_list))

Output
Original list is : ['bad', 'GeeksforGeeks', 'bad', 'is', 'best', 'bad']
Modified list is : ['GeeksforGeeks', 'is', 'best']

This approach uses the filter() function to create a filtered list of elements from test_list that are not equal to K. The list() function is then used to convert the filtered list into a list.

Time complexity: O(n), where n is the number of elements in the list test_list.

Space complexity: O(n), since a new list is created.


Practice Tags :

Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy