If the element is not present then discard() will not generate error, but remove() method will raise error.
my_set = {1, 2, 3}
my_set.discard(4) # No error, even if 4 is not in the set
my_set.remove(4) # Raises KeyError because 4 is not in the set
Use Case: Safely Removing Items
my_set = {'apple', 'banana', 'cherry'}
my_set.discard('banana') # Safely removes banana
my_set.discard('grape') # No error, even though grape is not present
Example 1: Using discard() in a Loop
my_set = {1, 2, 3, 4, 5}
elements_to_remove = [2, 6, 3]
for item in elements_to_remove:
my_set.discard(item) # Safely removes elements, no error if not present
print(my_set) # Output: {1, 4, 5}
Example : Discarding Items Conditionally
my_set = {'apple', 'banana', 'cherry'}
if 'banana' in my_set:
my_set.discard('banana')
print(my_set) # Output: {'apple', 'cherry'}