Python – Remove multiple elements from Set
Last Updated :
15 Mar, 2023
Given a set, the task is to write a Python program remove multiple elements from set.
Example:
Input : test_set = {6, 4, 2, 7, 9}, rem_ele = [2, 4, 8]
Output : {9, 6, 7}
Explanation : 2, 4 are removed from set.
Input : test_set = {6, 4, 2, 7, 9}, rem_ele = [4, 8]
Output : {2, 9, 6, 7}
Explanation : 4 is removed from set.
Method #1 : Using “-” operator
In this, we perform task of eliminating elements using computing difference using “-” operator.
Python3
test_set = { 6 , 4 , 2 , 7 , 9 }
print ( "The original set is : " + str (test_set))
rem_ele = [ 2 , 4 , 8 ]
res = test_set - set (rem_ele)
print ( "Set after removal : " + str (res))
|
Output:
The original set is : {2, 4, 6, 7, 9}
Set after removal : {9, 6, 7}
Method #2 : Using difference_update()
In this, we remove elements getting difference and updating the set using inbuilt set method difference_update().
Python3
test_set = { 6 , 4 , 2 , 7 , 9 }
print ( "The original set is : " + str (test_set))
rem_ele = [ 2 , 4 , 8 ]
test_set.difference_update( set (rem_ele))
print ( "Set after removal : " + str (test_set))
|
Output:
The original set is : {2, 4, 6, 7, 9}
Set after removal : {9, 6, 7}
Method #3: Using the intersection() method
step-by-step approach:
1.Define two sets, my_set and remove_set.
2.Find the intersection of the two sets using the intersection() method. This returns a new set that contains only the elements that are common between the two sets.
3.Use the -= operator to remove the elements in the common_set from my_set. This modifies my_set in place.
4.Print the updated my_set using the print() function.
Python3
my_set = { 1 , 2 , 3 , 4 , 5 }
remove_set = { 3 , 4 , 5 }
common_set = my_set.intersection(remove_set)
my_set - = common_set
print (my_set)
|
time complexity: O(n)
space complexity: O(m)
Method #4:Using filter() and set():
Algorithm:
1.Initialize a set and a list of elements to remove.
2.Use the filter() method to filter out the elements that are present in the list of elements to remove from the original set.
3.Convert the filtered elements to a set using the set() method.
4.The resulting set will have the elements that are not present in the list of elements to remove.
Python3
test_set = { 6 , 4 , 2 , 7 , 9 }
print ( "The original set is : " + str (test_set))
rem_ele = [ 2 , 4 , 8 ]
test_set = set ( filter ( lambda x: x not in rem_ele, test_set))
print ( "Set after removal : " + str (test_set))
|
Output
The original set is : {2, 4, 6, 7, 9}
Set after removal : {9, 6, 7}
The time complexity : O(n), where n is the size of the original set. This is because the filter function iterates over the set once to remove the elements that match the given condition. The set function has a time complexity of O(n) as well, where n is the number of elements in the resulting set.
The space complexity : O(n), where n is the size of the original set. This is because the filter function creates a new iterable containing the elements that satisfy the given condition. The set function also creates a new set with the remaining elements.
Please Login to comment...