Bird
Raised Fist0
Pythonprogramming~5 mins

Adding and removing set elements in Python

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

Sets let you store unique items. Adding and removing elements helps you change what is in the set easily.

You want to keep track of unique items like names or IDs.
You need to add new items without duplicates.
You want to remove items that are no longer needed.
You want to update a collection by adding or removing elements quickly.
Syntax
Python
my_set.add(element)
my_set.remove(element)
my_set.discard(element)
my_set.pop()

add() adds an element to the set.

remove() deletes an element but causes an error if the element is not found.

discard() deletes an element but does not cause an error if the element is missing.

pop() removes and returns an arbitrary element from the set.

Examples
Adds 'orange' to the set fruits.
Python
fruits = {'apple', 'banana'}
fruits.add('orange')
Removes 'banana' from the set fruits. Causes error if 'banana' is not in the set.
Python
fruits.remove('banana')
Tries to remove 'grape' but does nothing if 'grape' is not in the set.
Python
fruits.discard('grape')
Removes and returns an arbitrary element from fruits.
Python
item = fruits.pop()
Sample Program

This program shows how to add and remove elements from a set. It adds 'bird', removes 'cat', tries to discard 'fish' safely, and pops an element.

Python
my_set = {'cat', 'dog'}
print('Original set:', my_set)

my_set.add('bird')
print('After adding bird:', my_set)

my_set.remove('cat')
print('After removing cat:', my_set)

my_set.discard('fish')  # no error if not present
print('After discarding fish:', my_set)

popped = my_set.pop()
print('Popped element:', popped)
print('Set after pop:', my_set)
OutputSuccess
Important Notes

Sets do not keep order, so elements may appear in any order when printed.

Use discard() if you want to avoid errors when removing elements that might not be in the set.

pop() removes a random element because sets are unordered.

Summary

Use add() to add elements to a set.

Use remove() to delete elements but be careful if the element might not exist.

Use discard() to delete elements safely without errors.

Practice

(1/5)
1. Which method is used to add a new element to a Python set?
easy
A. add()
B. append()
C. insert()
D. push()

Solution

  1. Step 1: Understand set methods

    Sets in Python use add() to add elements, unlike lists which use append().
  2. Step 2: Identify correct method for sets

    insert() and push() are not valid set methods.
  3. Final Answer:

    add() -> Option A
  4. Quick Check:

    Use add() to add elements to sets [OK]
Hint: Remember: sets use add(), lists use append() [OK]
Common Mistakes:
  • Confusing list methods with set methods
  • Trying to use append() on sets
  • Using insert() which is for lists
2. Which of the following is the correct syntax to remove an element 5 from a set s without causing an error if 5 is not present?
easy
A. s.remove(5)
B. s.delete(5)
C. s.pop(5)
D. s.discard(5)

Solution

  1. Step 1: Understand remove() vs discard()

    remove() raises an error if the element is missing, but discard() does not.
  2. Step 2: Check method validity

    delete() is not a set method, and pop() removes an arbitrary element without arguments.
  3. Final Answer:

    s.discard(5) -> Option D
  4. Quick Check:

    Use discard() to safely remove elements [OK]
Hint: Use discard() to avoid errors when removing [OK]
Common Mistakes:
  • Using remove() without checking element presence
  • Trying to use delete() which doesn't exist
  • Passing arguments to pop() which takes none
3. What will be the output of the following code?
fruits = {'apple', 'banana', 'cherry'}
fruits.add('orange')
fruits.remove('banana')
print(fruits)
medium
A. {'apple', 'cherry', 'orange'}
B. {'apple', 'banana', 'cherry', 'orange'}
C. {'apple', 'banana', 'orange'}
D. Error

Solution

  1. Step 1: Add 'orange' to the set

    Using add('orange') adds 'orange' to the set, so now it has {'apple', 'banana', 'cherry', 'orange'}.
  2. Step 2: Remove 'banana' from the set

    remove('banana') deletes 'banana', leaving {'apple', 'cherry', 'orange'}.
  3. Final Answer:

    {'apple', 'cherry', 'orange'} -> Option A
  4. Quick Check:

    add() adds, remove() deletes existing element [OK]
Hint: Add then remove changes set contents accordingly [OK]
Common Mistakes:
  • Expecting banana to remain after remove()
  • Thinking add() replaces elements
  • Confusing set order in output
4. The following code throws an error. What is the cause and how to fix it?
numbers = {1, 2, 3}
numbers.remove(4)
print(numbers)
medium
A. SyntaxError due to wrong method; fix by using delete(4)
B. No error; output is {1, 2, 3}
C. KeyError because 4 is not in set; fix by using discard(4)
D. TypeError because remove() needs a list; fix by converting set to list

Solution

  1. Step 1: Identify error cause

    remove(4) raises a KeyError because 4 is not in the set.
  2. Step 2: Fix error using discard()

    Replacing remove(4) with discard(4) avoids error even if 4 is missing.
  3. Final Answer:

    KeyError because 4 is not in set; fix by using discard(4) -> Option C
  4. Quick Check:

    remove() errors if missing; discard() does not [OK]
Hint: Use discard() to avoid errors when unsure element exists [OK]
Common Mistakes:
  • Assuming remove() never errors
  • Trying to use delete() which is invalid
  • Confusing error types
5. Given a set nums = {1, 2, 3, 4, 5}, which code snippet correctly adds 6 and removes 2 safely without errors, even if 2 might not be present?
hard
A. nums.add(6) nums.remove(2)
B. nums.add(6) nums.discard(2)
C. nums.append(6) nums.discard(2)
D. nums.add(6) nums.delete(2)

Solution

  1. Step 1: Add element 6 correctly

    add(6) is the correct method to add an element to a set.
  2. Step 2: Remove element 2 safely

    discard(2) removes 2 without error if missing; remove(2) could cause error.
  3. Final Answer:

    nums.add(6) nums.discard(2) -> Option B
  4. Quick Check:

    add() to add, discard() to safely remove [OK]
Hint: Add with add(), remove safely with discard() [OK]
Common Mistakes:
  • Using append() which is for lists
  • Using remove() without checking element presence
  • Trying to use delete() which doesn't exist