PYTHON
Building Dictionaries Dynamically with Dictionary Comprehensions
Master Python's dictionary comprehensions to create new dictionaries based on existing data or iterables, simplifying data restructuring in web projects.
users = ["alice", "bob", "charlie"]
roles = ["admin", "editor", "viewer"]
# Create a dictionary mapping users to their default roles
user_roles = {user: role for user, role in zip(users, roles)}
# Output:
# {'alice': 'admin', 'bob': 'editor', 'charlie': 'viewer'}
print(user_roles)
# Create a dictionary from a list of numbers, mapping each number to its square
numbers = [1, 2, 3, 4, 5]
squares = {num: num**2 for num in numbers if num % 2 != 0}
# Output:
# {1: 1, 3: 9, 5: 25}
print(squares)
How it works: Dictionary comprehensions provide an elegant syntax for constructing dictionaries. This snippet illustrates two common use cases: pairing elements from two lists into key-value pairs using `zip()`, and generating a dictionary by transforming elements from a single list. They are highly efficient for creating or transforming dictionaries based on specific conditions or calculations, which is invaluable for dynamic data handling in web applications.