Python Dictionary Tutorial with Examples

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

Introduction

Dictionaries in Python are unordered collections of items. Each item is stored as a key-value pair, allowing you to associate unique keys with specific values. Dictionaries are mutable, meaning that you can change their content by adding, modifying, or removing items.

Table of Contents

  1. Define Dictionary and Key Points
  2. Create Dictionary
  3. Access Dictionary Items
  4. Change Dictionary Items
  5. Add Dictionary Items
  6. Remove Dictionary Items
  7. Loop Dictionaries
  8. Dictionary Comprehension
  9. Nested Dictionaries
  10. Dictionary Methods
  11. Conclusion

Key Points

A dictionary is an unordered collection of key-value pairs. 

Key points about dictionaries:

  • Keys: Must be unique and immutable (e.g., strings, numbers, tuples).
  • Values: Can be of any data type and can be duplicated.
  • Mutable: Items can be added, modified, or removed.
  • Unordered: Items do not have a fixed position or order.

1. Create Dictionary

Dictionaries are created by placing items inside curly braces {}, separated by commas. Each item is a key-value pair, separated by a colon :.

Example

# Creating a dictionary my_dict = {"name": "Ravi", "age": 25, "city": "Mumbai"} print(my_dict) # Output: {'name': 'Ravi', 'age': 25, 'city': 'Mumbai'} 

2. Access Dictionary Items

Dictionary items can be accessed using their keys. If the key is not found, a KeyError is raised.

Example

# Accessing dictionary items print(my_dict["name"]) # Output: Ravi print(my_dict["age"]) # Output: 25 # Using the get() method to avoid KeyError print(my_dict.get("city")) # Output: Mumbai print(my_dict.get("country", "India")) # Output: India (default value if key not found) 

3. Change Dictionary Items

Dictionary items can be changed by assigning a new value to an existing key.

Example

# Changing dictionary items my_dict["age"] = 26 print(my_dict) # Output: {'name': 'Ravi', 'age': 26, 'city': 'Mumbai'} 

4. Add Dictionary Items

New items can be added to a dictionary by assigning a value to a new key.

Example

# Adding new dictionary items my_dict["country"] = "India" print(my_dict) # Output: {'name': 'Ravi', 'age': 26, 'city': 'Mumbai', 'country': 'India'} 

5. Remove Dictionary Items

Items can be removed from a dictionary using methods like pop(), popitem(), del, and clear().

Example

# Using pop() to remove a specific item my_dict.pop("age") print(my_dict) # Output: {'name': 'Ravi', 'city': 'Mumbai', 'country': 'India'} # Using popitem() to remove the last inserted item my_dict.popitem() print(my_dict) # Output: {'name': 'Ravi', 'city': 'Mumbai'} # Using del to remove a specific item del my_dict["city"] print(my_dict) # Output: {'name': 'Ravi'} # Using clear() to remove all items my_dict.clear() print(my_dict) # Output: {} 

6. Loop Dictionaries

You can loop through the items in a dictionary using a for loop.

Example

# Creating a dictionary student = {"name": "Anjali", "age": 21, "course": "Computer Science"} # Looping through keys for key in student: print(key, student[key]) # Output: # name Anjali # age 21 # course Computer Science # Looping through items for key, value in student.items(): print(key, value) # Output: # name Anjali # age 21 # course Computer Science 

7. Dictionary Comprehension

Dictionary comprehension provides a concise way to create dictionaries.

Example

# Using dictionary comprehension to create a dictionary of squares squares = {x: x**2 for x in range(1, 6)} print(squares) # Output: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25} 

8. Nested Dictionaries

Dictionaries can contain other dictionaries as values, creating nested dictionaries.

Example

# Creating a nested dictionary nested_dict = { "student1": {"name": "Rahul", "age": 20}, "student2": {"name": "Sneha", "age": 22} } print(nested_dict) # Output: {'student1': {'name': 'Rahul', 'age': 20}, 'student2': {'name': 'Sneha', 'age': 22}} # Accessing elements in a nested dictionary print(nested_dict["student1"]["name"]) # Output: Rahul print(nested_dict["student2"]["age"]) # Output: 22 

9. Dictionary Methods

Python dictionaries have several built-in methods, including keys(), values(), items(), update(), and copy().

Example

# Using various dictionary methods example_dict = {"name": "Amit", "age": 30, "city": "Pune"} # Getting keys keys = example_dict.keys() print(keys) # Output: dict_keys(['name', 'age', 'city']) # Getting values values = example_dict.values() print(values) # Output: dict_values(['Amit', 30, 'Pune']) # Getting items items = example_dict.items() print(items) # Output: dict_items([('name', 'Amit'), ('age', 30), ('city', 'Pune')]) # Updating dictionary example_dict.update({"age": 31, "country": "India"}) print(example_dict) # Output: {'name': 'Amit', 'age': 31, 'city': 'Pune', 'country': 'India'} # Copying dictionary copy_dict = example_dict.copy() print(copy_dict) # Output: {'name': 'Amit', 'age': 31, 'city': 'Pune', 'country': 'India'} 

Conclusion

Python dictionaries are powerful and flexible data structures that allow you to store and manipulate collections of key-value pairs. Understanding how to create, access, modify, and perform operations on dictionaries is essential for effective programming in Python. This tutorial covered various aspects of dictionaries, including creating, accessing, changing, and removing items, as well as advanced topics like looping, dictionary comprehension, nested dictionaries, and dictionary methods. By mastering these concepts, you can efficiently work with dictionaries in your Python programs.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare