DEV Community

Cover image for Day 25/100: Dictionaries in Python – Key-Value Mastery
 Rahul Gupta
Rahul Gupta

Posted on

Day 25/100: Dictionaries in Python – Key-Value Mastery

Welcome to Day 25 of the 100 Days of Python series!
Today, we’ll master one of the most powerful and flexible data structures in Python — the dictionary.

Dictionaries let you store key-value pairs, giving you lightning-fast lookups and structured data organization. If you’ve used JSON or dealt with APIs, you’ve already seen dictionaries in action.

Let’s dive in and master them. 🐍💼


📦 What You’ll Learn

  • What dictionaries are and why they’re useful
  • How to create and access key-value pairs
  • Modifying, adding, and removing items
  • Dictionary methods and looping
  • Nested dictionaries and real-world use cases

🧠 What is a Dictionary?

A dictionary in Python is an unordered, mutable collection of key-value pairs.

🔹 Syntax

person = { "name": "Alice", "age": 30, "city": "New York" } 
Enter fullscreen mode Exit fullscreen mode

Keys are unique. Values can be any data type.


🔑 Creating a Dictionary

empty = {} user = dict(name="John", age=25) 
Enter fullscreen mode Exit fullscreen mode

🔍 Accessing Values by Key

print(person["name"]) # Alice 
Enter fullscreen mode Exit fullscreen mode

✅ Safe Access with get()

print(person.get("age")) # 30 print(person.get("email", "N/A")) # N/A 
Enter fullscreen mode Exit fullscreen mode

✏️ Modifying and Adding Items

person["age"] = 31 # Modify person["email"] = "a@b.com" # Add 
Enter fullscreen mode Exit fullscreen mode

❌ Removing Items

person.pop("age") # Removes by key del person["city"] # Another way person.clear() # Removes all 
Enter fullscreen mode Exit fullscreen mode

🔁 Looping Through a Dictionary

for key in person: print(key, person[key]) # Or, more readable: for key, value in person.items(): print(f"{key}: {value}") 
Enter fullscreen mode Exit fullscreen mode

🔄 Dictionary Methods

Method Purpose
keys() Returns all keys
values() Returns all values
items() Returns key-value pairs
get(key) Returns value or None/default
pop(key) Removes key and returns its value
update(dict2) Updates with another dictionary
clear() Clears all items

🧱 Nested Dictionaries

Dictionaries can hold other dictionaries:

users = { "alice": {"age": 30, "city": "Paris"}, "bob": {"age": 25, "city": "Berlin"} } print(users["alice"]["city"]) # Paris 
Enter fullscreen mode Exit fullscreen mode

💡 Dictionary Comprehension

squares = {x: x*x for x in range(5)} print(squares) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} 
Enter fullscreen mode Exit fullscreen mode

📊 Real-World Examples

1. Counting Frequency

text = "apple banana apple orange" counts = {} for word in text.split(): counts[word] = counts.get(word, 0) + 1 print(counts) # {'apple': 2, 'banana': 1, 'orange': 1} 
Enter fullscreen mode Exit fullscreen mode

2. Storing API Responses (e.g., JSON)

response = { "status": "success", "data": { "user": "Alice", "id": 123 } } print(response["data"]["user"]) # Alice 
Enter fullscreen mode Exit fullscreen mode

3. Mapping IDs to Data

products = { 101: "Shoes", 102: "Shirt", 103: "Bag" } print(products[102]) # Shirt 
Enter fullscreen mode Exit fullscreen mode

🚫 Common Mistakes

  • ❌ Using mutable types like lists as keys
  • ❌ Assuming order (dictionaries are ordered since Python 3.7, but don’t rely on it for logic)
  • ✅ Use .get() when you're unsure if a key exists

🧠 Recap

Today you learned:

  • How dictionaries store data using key-value pairs
  • How to add, modify, delete, and access items
  • Useful methods like .get(), .items(), .update()
  • How to nest dictionaries and write comprehensions
  • Real-world applications like counters and JSON

Top comments (0)