Free Interactive Python Course

Python Tutorial — Learn Python Step by Step

Key takeaway: Master Python programming from scratch — variables, loops, functions, OOP, file handling, and libraries — with clear human-readable explanations and runnable code examples.

50+ Structured Lessons
Runnable Code Examples
100% Free No Registration
Updated October 2026

Python Set

A set is an unordered collection of unique elements. Sets are optimized for membership testing, removing duplicates, and mathematical set operations.

Creating Sets

# With curly braces
fruits = {"apple", "banana", "cherry"}
numbers = {1, 2, 3, 2, 1}  # duplicates removed: {1, 2, 3}

# Empty set (NOT {} — that creates a dict!)
empty = set()

# From other iterables
from_list = set([1, 2, 2, 3, 3])   # {1, 2, 3}
from_string = set("hello")          # {"h", "e", "l", "o"}
from_range = set(range(5))          # {0, 1, 2, 3, 4}

Adding and Removing

s = {1, 2, 3}

s.add(4)            # {1, 2, 3, 4}
s.update([5, 6])    # {1, 2, 3, 4, 5, 6} — add multiple

s.remove(6)         # removes 6 (KeyError if not found)
s.discard(99)       # removes if present, no error if missing
s.pop()             # removes and returns arbitrary element
s.clear()           # empty the set

Set Operations

a = {1, 2, 3, 4, 5}
b = {4, 5, 6, 7, 8}

# Union — all elements from both
print(a | b)            # {1, 2, 3, 4, 5, 6, 7, 8}
print(a.union(b))       # same

# Intersection — common elements
print(a & b)            # {4, 5}
print(a.intersection(b))

# Difference — in a but not in b
print(a - b)            # {1, 2, 3}
print(a.difference(b))

# Symmetric difference — in either but not both
print(a ^ b)            # {1, 2, 3, 6, 7, 8}

# Subset and superset
print({1, 2}.issubset(a))     # True
print(a.issuperset({1, 2}))   # True
print(a.isdisjoint(b))        # False (they share elements)

Practical Use Cases

# Remove duplicates from a list
names = ["Alice", "Bob", "Alice", "Charlie", "Bob"]
unique_names = list(set(names))  # ["Alice", "Bob", "Charlie"]

# Fast membership testing (O(1) vs O(n) for lists)
valid_codes = {"A1", "B2", "C3", "D4"}
user_code = "B2"
if user_code in valid_codes:
    print("Valid!")

# Find common/different items
enrolled = {"Alice", "Bob", "Charlie"}
submitted = {"Alice", "Charlie", "Diana"}
missing = enrolled - submitted    # {"Bob"}
extra = submitted - enrolled      # {"Diana"}
  • Sets contain only unique elements — duplicates are automatically removed.
  • Sets are unordered — you cannot index or slice them.
  • Membership testing (in) is O(1) for sets vs O(n) for lists.
  • Use discard() over remove() when you are not sure the element exists.
  • Set elements must be hashable (immutable): numbers, strings, tuples — not lists or dicts.

Python Programming Tutorial — Learn Python in a practical, step-by-step way. According to the official Python documentation, Python emphasizes code readability and simplicity, making it ideal for beginners.

Related tools: Python Online Compiler | Python Examples | JavaScript Tutorial | Java Tutorial

Python Career & Learning Guide

Python is the world's most popular programming language for beginners, data science, AI/ML, web development, and automation. This tutorial teaches Python step-by-step with clear explanations and runnable code examples in our free Python Compiler.

Why Learn Python in 2026?

  • #1 Most Popular Language: Ranked first on TIOBE, Stack Overflow, and GitHub.
  • AI and Data Science: The primary language for machine learning (TensorFlow, PyTorch, scikit-learn) and data analysis (Pandas, NumPy).
  • Web Development: Django and Flask power scalable backends at companies like Instagram and Spotify.
  • Automation & Scripting: Automate files, emails, web scraping, and data processing in minutes.

Python vs Other Languages

FeaturePythonJavaJavaScriptC++
SyntaxVery clean, readableVerboseModerateComplex
TypingDynamic, strongStatic, strongDynamic, weakStatic, strong
Best ForAI/ML, Data, WebEnterprise, AndroidWeb Frontend/BackendSystems, Games
Learning Time2–4 weeks basics4–6 weeks basics3–4 weeks basics8–12 weeks basics

Frequently Asked Questions

Do I need prior programming experience to learn Python?

No! Python is specifically designed to be beginner-friendly. This tutorial starts from zero and builds up gradually.

Which Python version should I use?

Python 3.10+ is recommended. All examples in this tutorial use Python 3 syntax.

Is this Python tutorial completely free?

Yes, 100% free with no registration or sign-up required. Access all lessons and code examples anytime.