Bird
Raised Fist0
Pythonprogramming~5 mins

Difference and symmetric difference 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

Difference and symmetric difference help you find what is unique between two groups of items.

You want to find items in one list that are not in another.
You want to see what items are different between two sets.
You want to compare two collections and find unique elements.
You want to remove common items and keep only distinct ones.
Syntax
Python
set1.difference(set2)
set1 - set2

set1.symmetric_difference(set2)
set1 ^ set2

Difference shows items in set1 but not in set2.

Symmetric difference shows items in either set1 or set2 but not both.

Examples
Shows items in a but not in b.
Python
a = {1, 2, 3}
b = {2, 3, 4}
print(a.difference(b))
Another way to get difference using - operator.
Python
a = {1, 2, 3}
b = {2, 3, 4}
print(a - b)
Shows items in a or b but not both.
Python
a = {1, 2, 3}
b = {2, 3, 4}
print(a.symmetric_difference(b))
Another way to get symmetric difference using ^ operator.
Python
a = {1, 2, 3}
b = {2, 3, 4}
print(a ^ b)
Sample Program

This program shows how to find difference and symmetric difference between two sets.

Python
set1 = {10, 20, 30, 40}
set2 = {30, 40, 50, 60}

# Difference: items in set1 not in set2
diff = set1 - set2
print("Difference (set1 - set2):", diff)

# Symmetric difference: items in set1 or set2 but not both
sym_diff = set1 ^ set2
print("Symmetric difference:", sym_diff)
OutputSuccess
Important Notes

Difference is not symmetric: a - b is not the same as b - a.

Symmetric difference combines unique items from both sets.

Summary

Difference finds items only in the first set.

Symmetric difference finds items in either set but not both.

Use - for difference and ^ for symmetric difference.

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