Bird
Raised Fist0
Pythonprogramming~20 mins

Adding and removing set elements in Python - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
๐ŸŽ–๏ธ
Set Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
What is the output of this code adding elements to a set?
Consider the following Python code that adds elements to a set. What will be printed?
Python
s = {1, 2, 3}
s.add(4)
s.add(2)
print(s)
A{1, 2, 3, 4}
B{1, 2, 3, 4, 2}
C{4}
DError: cannot add duplicate elements
Attempts:
2 left
๐Ÿ’ก Hint
Remember that sets do not allow duplicates.
โ“ Predict Output
intermediate
2:00remaining
What happens when removing an element not in the set?
What will happen when this code runs?
Python
s = {10, 20, 30}
s.remove(40)
print(s)
AKeyError
B{10, 20, 30}
CNone
DSet unchanged: {10, 20, 30}
Attempts:
2 left
๐Ÿ’ก Hint
Check what remove() does if the element is missing.
โ“ Predict Output
advanced
2:00remaining
What is the output after using discard on a set?
Look at this code and decide what it prints.
Python
s = {5, 6, 7}
s.discard(6)
s.discard(10)
print(s)
A{5, 6, 7}
B{5, 6, 7, 10}
CKeyError
D{5, 7}
Attempts:
2 left
๐Ÿ’ก Hint
Discard does not raise an error if the element is missing.
๐Ÿง  Conceptual
advanced
2:00remaining
Which method safely removes an element without error if missing?
You want to remove an element from a set but avoid errors if it is not present. Which method should you use?
Aremove()
Bdiscard()
Cpop()
Dclear()
Attempts:
2 left
๐Ÿ’ก Hint
One method raises an error if the element is missing, the other does not.
โ“ Predict Output
expert
3:00remaining
What is the final set after these operations?
Analyze the code below and determine the final content of the set.
Python
s = set()
s.add(1)
s.add(2)
s.add(3)
s.remove(2)
s.discard(4)
s.add(2)
s.remove(1)
print(s)
A{3}
B{1, 2, 3, 4}
C{2, 3}
D{1, 3}
Attempts:
2 left
๐Ÿ’ก Hint
Track each add and remove step carefully.

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