Python Language – Dictionaries

Dictionaries in Python

Dictionaries are a versatile and powerful data structure in Python. They allow you to store and manipulate data in key-value pairs, making them invaluable for a wide range of applications. This guide explores dictionaries, their characteristics, and how to use them effectively in Python.

Creating Dictionaries

In Python, dictionaries are created by enclosing key-value pairs within curly braces ({}) and separating them with colons. The keys must be unique, and you can use various data types as keys:


person = {'first_name': 'John', 'last_name': 'Doe', 'age': 30}
car = {'make': 'Toyota', 'model': 'Camry', 'year': 2022}

Dictionaries can also be created using the dict() constructor:


person = dict(first_name='John', last_name='Doe', age=30)
Accessing Dictionary Values

You can access the values in a dictionary by referencing their keys. This is done using square brackets ([]):


person = {'first_name': 'John', 'last_name': 'Doe', 'age': 30}

first_name = person['first_name']  # 'John'
age = person['age']  # 30

If you attempt to access a key that doesn’t exist, you’ll get a KeyError. You can avoid this by using the get() method, which allows you to specify a default value:


person = {'first_name': 'John', 'last_name': 'Doe', 'age': 30}

middle_name = person.get('middle_name', 'N/A')  # 'N/A' (default value)
Modifying Dictionaries

Dictionaries are mutable, which means you can change their values, add new key-value pairs, or remove existing ones. To modify a value, reference its key and assign a new value:


person = {'first_name': 'John', 'last_name': 'Doe', 'age': 30}

person['age'] = 31  # Updated age to 31

To add a new key-value pair, reference a new key and assign a value:


person = {'first_name': 'John', 'last_name': 'Doe', 'age': 30}

person['email'] = 'john.doe@example.com'  # Added email key-value pair

Removing key-value pairs is done using the pop() method or the del statement:


person = {'first_name': 'John', 'last_name': 'Doe', 'age': 30}

# Using pop()
removed_age = person.pop('age')  # Removes 'age' key-value pair

# Using del
del person['last_name']  # Removes 'last_name' key-value pair
Iterating Through Dictionaries

You can loop through dictionaries to access keys and values. Here’s an example using a for loop:


person = {'first_name': 'John', 'last_name': 'Doe', 'age': 30}

for key in person:
    value = person[key]
    print(f'{key}: {value}')

You can also directly access keys or values using the keys() and values() methods:


person = {'first_name': 'John', 'last_name': 'Doe', 'age': 30}

# Accessing keys
for key in person.keys():
    print(key)

# Accessing values
for value in person.values():
    print(value)
Dictionary Comprehensions

Python supports dictionary comprehensions, which are a concise way to create dictionaries based on existing iterables. Here’s an example that creates a dictionary of squares:


numbers = [1, 2, 3, 4, 5]
squared_dict = {x: x**2 for x in numbers}
# squared_dict will be {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
Conclusion

Dictionaries are a fundamental part of Python, providing an efficient way to store, access, and manipulate data using key-value pairs. Understanding how to create, access, modify, and iterate through dictionaries is crucial for working with complex data structures and solving real-world problems in Python. Whether you’re learning Python or preparing for job interviews, mastering dictionaries is a significant step towards becoming a proficient Python developer.