Remove all the occurrences of an element from a list in Python
Last Updated :
08 Sep, 2023
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:
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):
res = [i for i in test_list if i ! = item]
return res
if __name__ = = "__main__" :
test_list = [ 1 , 3 , 4 , 6 , 5 , 1 ]
item = 1
print ( "The original list is : " + str (test_list))
res = remove_items(test_list, item)
print ( "The list after performing the remove operation is : " + str (res))
|
Output
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
def remove_items(test_list, item):
res = list ( filter ((item).__ne__, test_list))
return res
if __name__ = = "__main__" :
test_list = [ 1 , 3 , 4 , 6 , 5 , 1 ]
item = 1
print ( "The original list is : " + str (test_list))
res = remove_items(test_list, item)
print ( "The list after performing the remove operation is : " + str (res))
|
Output
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
def remove_items(test_list, item):
c = test_list.count(item)
for i in range (c):
test_list.remove(item)
return test_list
if __name__ = = "__main__" :
test_list = [ 1 , 3 , 4 , 6 , 5 , 1 ]
item = 1
print ( "The original list is :" + str (test_list))
res = remove_items(test_list, item)
print ( "The list after performing the remove operation is :" + str (res))
|
Output
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
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)
|
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)
|
Time Complexity: O(n)
Auxiliary Space: O(n)
Please Login to comment...