Python Sets Remove Elements


In Python Sets, we can remove elements from a set using the remove(), discard(), pop(), and clear() methods.

Using remove()

The remove() method removes a specified element from the set. If the element is not found, it raises a KeyError.

my_set = {1, 2, 3, 4}
my_set.remove(3)
print(my_set)
# {1, 2, 4}


Using discard()

The discard() method also removes a specified element from the set, but if the element is not found, it does not raise an error.

my_set = {1, 2, 3, 4}
my_set.discard(3)
print(my_set)
# {1, 2, 4}

Example with a non-existing element -

my_set = {1, 2, 3, 4}
my_set.discard(5)  # No error even though 5 is not in the set
print(my_set)


Using pop()

The pop() method removes and returns an arbitrary element from the set. If the set is empty, it raises a KeyError.

my_set = {1, 2, 3, 4}
removed_element = my_set.pop()
print(removed_element)
print(my_set)
# 1
# {2, 3, 4}

(Note: The element removed can vary because sets are unordered.)


Using clear()

The clear() method removes all elements from the set, resulting in an empty set.

my_set = {1, 2, 3, 4}
my_set.clear()
print(my_set)
# set()

These methods provide flexibility for removing elements from a set, whether you need to remove specific elements, arbitrary elements, or clear the entire set.