Skip to content

Dictionary Data Type in Python

Dictionaries are mutable, unordered collections of key-value pairs. Each key is unique and maps to a value, allowing for efficient data retrieval and manipulation.

1. Creating Dictionaries

Dictionaries can be created using curly braces {} with key-value pairs or the dict() function.

Example:

# Creating a dictionary using curly braces
dict1 = {"name": "Alice", "age": 25, "city": "New York"}

# Creating a dictionary using the dict() function
dict2 = dict(name="Bob", age=30, city="Los Angeles")

# Creating an empty dictionary
empty_dict = {}

print("Dictionary 1:", dict1)
print("Dictionary 2:", dict2)
print("Empty dictionary:", empty_dict)

Output:

Dictionary 1: {'name': 'Alice', 'age': 25, 'city': 'New York'}
Dictionary 2: {'name': 'Bob', 'age': 30, 'city': 'Los Angeles'}
Empty dictionary: {}

2. Accessing Dictionary Elements

Dictionary elements can be accessed using keys.

Example:

dict1 = {"name": "Alice", "age": 25, "city": "New York"}

# Accessing elements by key
name = dict1["name"]
age = dict1.get("age")

print("Name:", name)
print("Age:", age)

Output:

Name: Alice
Age: 25

3. Modifying Dictionaries

Dictionaries are mutable, meaning their elements can be changed, added, or removed.

Example:

dict1 = {"name": "Alice", "age": 25, "city": "New York"}

# Modifying an element
dict1["age"] = 26

# Adding a new element
dict1["profession"] = "Engineer"

# Removing an element
del dict1["city"]

print("Modified dictionary:", dict1)

Output:

Modified dictionary: {'name': 'Alice', 'age': 26, 'profession': 'Engineer'}

4. Dictionary Methods

Python provides various methods to perform operations on dictionaries, such as keys(), values(), items(), update(), and pop().

Example:

dict1 = {"name": "Alice", "age": 25, "city": "New York"}

# Getting all keys
keys = dict1.keys()

# Getting all values
values = dict1.values()

# Getting all key-value pairs
items = dict1.items()

# Updating a dictionary with another dictionary
dict2 = {"age": 26, "profession": "Engineer"}
dict1.update(dict2)

# Removing an element and returning its value
removed_value = dict1.pop("city", "Not Found")

print("Keys:", keys)
print("Values:", values)
print("Items:", items)
print("Updated dictionary:", dict1)
print("Removed value:", removed_value)

Output:

Keys: dict_keys(['name', 'age', 'city'])
Values: dict_values(['Alice', 25, 'New York'])
Items: dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
Updated dictionary: {'name': 'Alice', 'age': 26, 'profession': 'Engineer'}
Removed value: Not Found

5. Dictionary Comprehensions

Dictionary comprehensions provide a concise way to create dictionaries.

Example:

# Creating a dictionary using dictionary comprehension
squares = {x: x*x for x in range(6)}

print("Squares dictionary:", squares)

Output:

Squares dictionary: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

6. Nested Dictionaries

Dictionaries can contain other dictionaries, allowing for the creation of nested structures.

Example:

# Creating a nested dictionary
nested_dict = {
    "person1": {"name": "Alice", "age": 25},
    "person2": {"name": "Bob", "age": 30}
}

# Accessing elements in a nested dictionary
person1_name = nested_dict["person1"]["name"]
person2_age = nested_dict["person2"]["age"]

print("Nested dictionary:", nested_dict)
print("Person1 name:", person1_name)
print("Person2 age:", person2_age)

Output:

Nested dictionary: {'person1': {'name': 'Alice', 'age': 25}, 'person2': {'name': 'Bob', 'age': 30}}
Person1 name: Alice
Person2 age: 30

Conclusion

Dictionaries in Python are a powerful data type for storing and manipulating key-value pairs. Understanding how to create, access, modify, and utilize dictionaries is crucial for effective programming in Python.

By practicing the examples provided, you can gain a deeper understanding of how dictionaries work and how to apply these techniques in your Python projects.