Python Academy · Lesson

Sets and Set Operations

Build sets and perform union, intersection, and difference.

Lesson 3 of 414 steps

Sets and Set Operations is a free Python Academy lesson on CoddyKit. This is lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Python Academy learning path, and your progress syncs across the web and the CoddyKit app. The Python Academy course includes 4 lessons in total.

Introduction

Sets are unordered collections of unique hashable elements. They are optimized for membership testing and mathematical set operations.

Creating a Set

s = {1, 2, 3} or s = set([1, 2, 2, 3]) — duplicates are removed automatically. {} creates an empty DICT, not a set.
s = {1, 2, 2, 3}
print(s)  # {1, 2, 3}
empty = set()
print(type(empty))

add() and discard()

s.add(x) adds an element. s.discard(x) removes it silently (no error if absent). s.remove(x) raises KeyError if absent.
s = {1, 2, 3}
s.add(4)
s.discard(9)  # safe
print(s)

Membership Testing

x in s is O(1) for sets vs O(n) for lists. Always prefer a set when you only need fast membership checks.
s = {1, 2, 3}
print(2 in s)
print(9 in s)

Union |

s1 | s2 returns elements in either set. s1.union(s2) is equivalent.
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)

Intersection &

s1 & s2 returns elements in both sets. s1.intersection(s2) is equivalent.
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)

Difference -

s1 - s2 returns elements in s1 but not s2. s1.difference(s2) is equivalent.
a = {1, 2, 3}
b = {2, 3, 4}
print(a - b)

Symmetric Difference ^

s1 ^ s2 returns elements in either but not both. Useful for finding what changed between two sets.
a = {1, 2, 3}
b = {2, 3, 4}
print(a ^ b)

Subset and Superset

s1 <= s2 checks if s1 is a subset of s2. s1 >= s2 checks superset. s1 < s2 checks proper subset.
a = {1, 2}
b = {1, 2, 3}
print(a <= b)
print(b >= a)

frozenset

frozenset is an immutable set — it can be used as a dict key or as an element of another set.
fs = frozenset([1, 2, 3])
d = {fs: 'value'}
print(d[fs])

Set Comprehensions

{x*2 for x in range(5)} creates a set using comprehension syntax. Duplicates are automatically eliminated.
evens = {x*2 for x in range(5)}
print(evens)

Quick Check

What is the time complexity of x in s for a Python set s?

Recap

Sets: unordered, unique, O(1) membership. Operations: | (union), & (intersection), - (difference), ^ (symmetric diff). frozenset for immutable sets.

Keep Going

Great work! Move on to the next lesson to continue building your skills.
Free to start

Learn Python with an AI tutor — free

Write and run real code in your browser, get instant help from a 24/7 AI tutor, and pick up where you left off on the web or in the app.

Courses
76
Lessons
320

Frequently Asked Questions

Is the “Sets and Set Operations” lesson free?

Yes — the full text of “Sets and Set Operations” is free to read here on the web. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Python Academy course, upgrade to CoddyKit PRO. The Python Academy course includes 4 lessons in total.

What will I learn in “Sets and Set Operations”?

Build sets and perform union, intersection, and difference. You practise Python Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Python Academy?

No prior experience is required. Python Academy on CoddyKit is structured for beginners through advanced learners, so you can start here or from the beginning and move at your own pace. This is lesson 3 of 4.

How long does the “Sets and Set Operations” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Python Academy lesson?

Yes. Every Python Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Dictionary Basics
  2. Dictionary Methods
  3. Sets and Set Operations
  4. Dictionary Comprehensions
← Back to Python Academy