The task is to perform the operation of removing all the occurrences of a given item/element present in a list.
Example
Input1: 1 1 2 3 4 5 1 2 1 Output1: 2 3 4 5 2 Explanation : The input list is [1, 1, 2, 3, 4, 5, 1, 2] and the item to be removed is 1. After removing the item, the output list is [2, 3, 4, 5, 2]
Remove all Occurrences of an Item from a Python list
Below are the ways by which we can remove all the occurrences of an Element from a List in Python:
- Using List Comprehension
- Using filter and __ne__
- Using remove()
- Using replace() methods
- Using enumerate function
Removing Specific Element from List using list comprehension
The list comprehension can be used to perform this task in which we just check for a match and reconstruct the list without the target element. We can create a sublist of those elements in the list that satisfies a certain condition.
Python3
def remove_items(test_list, item): # using list comprehension to perform the task res = [i for i in test_list if i ! = item] return res # driver code if __name__ = = "__main__" : test_list = [ 1 , 3 , 4 , 6 , 5 , 1 ] # the item which is to be removed item = 1 print ( "The original list is : " + str (test_list)) # calling the function remove_items() res = remove_items(test_list, item) # printing result print ( "The list after performing the remove operation is : " + str (res)) |
The original list is : [1, 3, 4, 6, 5, 1] The list after performing the remove operation is : [3, 4, 6, 5]
Time complexity: O(n)
Auxiliary Space: O(n)
Remove all the occurrences of an element Using filter() and __ne__
We filter those items of the list which are not equal __ne__ to the item. In this example, we are using filter() and __ne__ to remove all the occurrences of an element from the list.
Python3
# Python 3 code to demonstrate # the removal of all occurrences of # a given item using filter() and __ne__ def remove_items(test_list, item): # using filter() + __ne__ to perform the task res = list ( filter ((item).__ne__, test_list)) return res # driver code if __name__ = = "__main__" : test_list = [ 1 , 3 , 4 , 6 , 5 , 1 ] item = 1 # printing the original list print ( "The original list is : " + str (test_list)) # calling the function remove_items() res = remove_items(test_list, item) # printing result print ( "The list after performing the remove operation is : " + str (res)) |
The original list is : [1, 3, 4, 6, 5, 1] The list after performing the remove operation is : [3, 4, 6, 5]
Time Complexity: O(n)
Auxiliary Space: O(n)
Removing Occurrences of item from a list Using remove()
In this method, we iterate through each item in the list, and when we find a match for the item to be removed, we will call remove() function on the list.
Python3
# Python 3 code to demonstrate def remove_items(test_list, item): # remove the item for all its occurrences c = test_list.count(item) for i in range (c): test_list.remove(item) return test_list # driver code if __name__ = = "__main__" : test_list = [ 1 , 3 , 4 , 6 , 5 , 1 ] item = 1 # printing the original list print ( "The original list is :" + str (test_list)) # calling the function remove_items() res = remove_items(test_list, item) # printing result print ( "The list after performing the remove operation is :" + str (res)) |
The original list is :[1, 3, 4, 6, 5, 1] The list after performing the remove operation is :[3, 4, 6, 5]
Time Complexity: O(n^2), where n is the length of the input list.
Auxiliary Space: O(1)
Remove Occurrences of an specific item Using replace()
In this example, we are converting the list into the string and then replacing that element string with empty space such that all occurrences of that element is removed.
Python3
#remove all occurrences of element in list test_list = [ 1 , 3 , 4 , 6 , 5 , 1 ] ele = 1 a = list ( map ( str ,test_list)) b = " " .join(a) b = b.replace( str (ele),"") b = b.split() x = list ( map ( int ,b)) print (x) |
[3, 4, 6, 5]
Time Complexity: O(n)
Auxiliary Space: O(n)
Remove Occurrences of an element Using enumerate function
In this example, we are making a new list that doesn’t contain any of that particular element’s occurrences inside the list by using enumerate function.
Python3
test_list = [ 1 , 3 , 4 , 6 , 5 , 1 ] ele = 1 x = [j for i,j in enumerate (test_list) if j! = ele] print (x) |
[3, 4, 6, 5]
Time Complexity: O(n)
Auxiliary Space: O(n)