Open In App

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

Improve
Improve
Like Article
Like
Save
Share
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)



Last Updated : 08 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads