Open In App

Remove all the occurrences of an element from a list in Python

Last Updated : 08 Sep, 2023
Suggest changes
Share
Like Article
Like
Report

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): # 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)) 

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
# 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)) 

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
# 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)) 

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
#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) 

Output
[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) 

Output
[3, 4, 6, 5] 

Time Complexity: O(n)
Auxiliary Space: O(n)


Similar Reads