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 Dictionary

A dictionary stores data as key-value pairs. Keys must be unique and immutable. Dictionaries are fast for lookups, insertions, and deletions.

Creating Dictionaries

# Curly brace syntax
user = {"name": "Alice", "age": 25, "city": "NYC"}

# dict() constructor
config = dict(host="localhost", port=8080, debug=True)

# From list of tuples
pairs = dict([("a", 1), ("b", 2), ("c", 3)])

# Dict comprehension
squares = {x: x**2 for x in range(6)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

# Empty dictionary
empty = {}
also_empty = dict()

Accessing and Modifying

user = {"name": "Alice", "age": 25}

# Access values
print(user["name"])         # "Alice" (KeyError if missing)
print(user.get("age"))      # 25
print(user.get("email", "N/A"))  # "N/A" (default if missing)

# Add / update
user["email"] = "alice@mail.com"   # add new key
user["age"] = 26                    # update existing
user.update({"city": "NYC", "age": 27})  # update multiple

# Remove
del user["email"]                   # delete key (KeyError if missing)
age = user.pop("age")              # remove and return value
last = user.popitem()              # remove last inserted pair
user.clear()                        # remove all

Iterating Dictionaries

scores = {"Alice": 95, "Bob": 87, "Charlie": 92}

# Keys (default iteration)
for name in scores:
    print(name)

# Values
for score in scores.values():
    print(score)

# Key-value pairs
for name, score in scores.items():
    print(f"{name}: {score}")

# Check existence
print("Alice" in scores)       # True (checks keys)
print(95 in scores.values())   # True (checks values)

Useful Patterns

# Counting occurrences
text = "hello world"
freq = {}
for char in text:
    freq[char] = freq.get(char, 0) + 1
# {"h": 1, "e": 1, "l": 3, "o": 2, ...}

# Grouping items
from collections import defaultdict
students = [("Math", "Alice"), ("Science", "Bob"), ("Math", "Charlie")]
groups = defaultdict(list)
for subject, name in students:
    groups[subject].append(name)
# {"Math": ["Alice", "Charlie"], "Science": ["Bob"]}

# Merge dictionaries (Python 3.9+)
defaults = {"color": "blue", "size": "medium"}
custom = {"color": "red", "weight": "heavy"}
merged = defaults | custom
# {"color": "red", "size": "medium", "weight": "heavy"}
  • Use .get(key, default) to avoid KeyError on missing keys.
  • Dictionary keys must be hashable (strings, numbers, tuples — not lists).
  • Dictionaries preserve insertion order since Python 3.7.
  • Use defaultdict from collections for grouping and counting patterns.
  • The | merge operator (Python 3.9+) creates a new merged dict.

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.