Bird
Raised Fist0
Pythonprogramming~10 mins

Difference and symmetric difference in Python - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to find the difference between set_a and set_b.

Python
set_a = {1, 2, 3, 4}
set_b = {3, 4, 5, 6}
difference = set_a.[1](set_b)
print(difference)
Drag options to blanks, or click blank then click option'
Aunion
Bsymmetric_difference
Cintersection
Ddifference
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using 'union' instead of 'difference' returns all elements from both sets.
Using 'intersection' returns only common elements.
2fill in blank
medium

Complete the code to find the symmetric difference between set_x and set_y.

Python
set_x = {10, 20, 30}
set_y = {20, 40, 50}
sym_diff = set_x.[1](set_y)
print(sym_diff)
Drag options to blanks, or click blank then click option'
Adifference
Bsymmetric_difference
Cintersection
Dunion
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using 'difference' returns elements only from the first set.
Using 'union' returns all elements from both sets.
3fill in blank
hard

Fix the error in the code to correctly find the difference of set_m and set_n.

Python
set_m = {7, 8, 9}
set_n = {8, 10}
diff = set_m.[1](set_n)
print(diff)
Drag options to blanks, or click blank then click option'
Adiffrence
Bsymmetric_difference
Cdifference
Dintersect
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Misspelling 'difference' causes AttributeError.
Using 'intersect' instead of 'intersection' causes error.
4fill in blank
hard

Fill both blanks to create a dictionary with words as keys and their lengths as values, only for words longer than 3 letters.

Python
words = ['apple', 'bat', 'carrot', 'dog']
lengths = {word: [1] for word in words if len(word) [2] 3}
print(lengths)
Drag options to blanks, or click blank then click option'
Alen(word)
B<=
C>
Dword
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '<=' includes shorter words.
Using 'word' as value stores the word, not its length.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase words as keys and their lengths as values, only for words with length greater than 4.

Python
words = ['tree', 'house', 'car', 'elephant']
result = { [1]: [2] for word in words if len(word) [3] 4 }
print(result)
Drag options to blanks, or click blank then click option'
Aword.upper()
Blen(word)
C>
Dword
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using 'word' as key keeps original case.
Using '<' or '<=' includes shorter words.

Practice

(1/5)
1. What does the difference operation A - B return when applied to two sets A and B?
easy
A. All elements from both A and B
B. Elements in B but not in A
C. Elements in A but not in B
D. Elements common to both A and B

Solution

  1. Step 1: Understand the difference operation

    The difference A - B means all elements that are in A but not in B.
  2. Step 2: Compare options with definition

    Elements in A but not in B matches this definition exactly, others describe different set operations.
  3. Final Answer:

    Elements in A but not in B -> Option C
  4. Quick Check:

    Difference = Elements only in first set [OK]
Hint: Difference = items only in the first set [OK]
Common Mistakes:
  • Confusing difference with symmetric difference
  • Thinking difference includes elements from both sets
  • Mixing up order of sets in difference
2. Which of the following is the correct syntax to find the symmetric difference between two sets A and B in Python?
easy
A. A ^ B
B. A - B
C. A | B
D. A & B

Solution

  1. Step 1: Recall symmetric difference operator

    In Python, symmetric difference between sets is found using the ^ operator.
  2. Step 2: Match operators to meanings

    - is difference, | is union, & is intersection, so only ^ is correct for symmetric difference.
  3. Final Answer:

    A ^ B -> Option A
  4. Quick Check:

    Symmetric difference uses ^ operator [OK]
Hint: Use ^ for symmetric difference in Python [OK]
Common Mistakes:
  • Using - instead of ^ for symmetric difference
  • Confusing union (|) with symmetric difference
  • Using & which is intersection, not symmetric difference
3. What is the output of the following code?
 A = {1, 2, 3, 4} 
 B = {3, 4, 5, 6} 
 print(A - B) 
medium
A. {3, 4}
B. {1, 2}
C. {5, 6}
D. {1, 2, 3, 4, 5, 6}

Solution

  1. Step 1: Calculate difference A - B

    Elements in A are {1, 2, 3, 4}, in B are {3, 4, 5, 6}. Difference A - B is elements in A not in B, which are {1, 2}.
  2. Step 2: Verify output matches options

    {1, 2} is {1, 2}, which matches the calculated difference.
  3. Final Answer:

    {1, 2} -> Option B
  4. Quick Check:

    A - B = {1, 2} [OK]
Hint: Difference removes items found in second set [OK]
Common Mistakes:
  • Including elements common to both sets
  • Confusing difference with union
  • Swapping sets order in difference
4. The following code is intended to print the symmetric difference of sets A and B. What is the error?
 A = {1, 2, 3} 
 B = {2, 3, 4} 
 print(A -^ B) 
medium
A. Prints the union of A and B
B. Prints the difference of A and B
C. Prints the intersection of A and B
D. SyntaxError due to invalid operator '-^'

Solution

  1. Step 1: Identify the operator used

    The code uses -^ which is not a valid Python operator.
  2. Step 2: Understand correct symmetric difference syntax

    Symmetric difference uses ^ alone, not combined with -. So this causes a syntax error.
  3. Final Answer:

    SyntaxError due to invalid operator '-^' -> Option D
  4. Quick Check:

    Invalid operator causes SyntaxError [OK]
Hint: Use ^ alone for symmetric difference, no combined operators [OK]
Common Mistakes:
  • Combining - and ^ operators incorrectly
  • Trying to use -^ as a single operator
  • Not recognizing syntax errors from invalid operators
5. Given two sets A = {1, 2, 3, 4, 5} and B = {4, 5, 6, 7}, which expression returns a set of elements that are in either A or B but not in both, and also excludes the element 7 if present?
hard
A. (A ^ B) - {7}
B. (A - B) | (B - A) | {7}
C. (A | B) - {7}
D. (A & B) - {7}

Solution

  1. Step 1: Understand symmetric difference and exclusion

    Symmetric difference A ^ B gives elements in either set but not both. To exclude 7, subtract {7}.
  2. Step 2: Analyze options

    (A ^ B) - {7} correctly computes symmetric difference then removes 7. (A - B) | (B - A) | {7} incorrectly adds {7}. (A | B) - {7} is union minus 7, which includes common elements. (A & B) - {7} is intersection minus 7, which is wrong.
  3. Final Answer:

    (A ^ B) - {7} -> Option A
  4. Quick Check:

    Symmetric difference minus {7} = (A ^ B) - {7} [OK]
Hint: Subtract {7} after symmetric difference to exclude it [OK]
Common Mistakes:
  • Using union instead of symmetric difference
  • Adding {7} instead of subtracting
  • Using intersection which is common elements only