Adding New Key-Value Pairs
🏷️ Dictionaries / Modifying Dictionaries
🧠 Context Introduction
Dictionaries in Python are mutable, meaning you can change them after they are created. One of the most common operations is adding new key-value pairs. This is essential when you're building configurations, mapping resources, or storing dynamic data — for example, adding a new server to an inventory or appending a new environment variable to a settings dictionary.
⚙️ How to Add a New Key-Value Pair
Adding a new entry to a dictionary is straightforward. You simply assign a value to a new key using the assignment operator (=).
- Use the dictionary name followed by square brackets containing the new key.
- Then use the equals sign and provide the value.
Example:
If you have a dictionary called server_config and you want to add a new key region with the value us-east-1, you would write:
server_config["region"] = "us-east-1"
This will add the new key-value pair to the dictionary. If the key already exists, this operation will update the existing value instead.
🛠️ Key Rules to Remember
- Keys must be unique — adding a key that already exists will overwrite the old value.
- Keys must be immutable — strings, numbers, and tuples are allowed; lists are not.
- Values can be any data type — strings, numbers, lists, other dictionaries, or even functions.
📊 Comparison: Adding vs Updating
| Operation | Key Exists? | Result |
|---|---|---|
| Add | No | New key-value pair is created |
| Update | Yes | Existing value is replaced with new value |
Both operations use the exact same syntax: dictionary_name["key"] = value
🕵️ Practical Examples for Engineers
Example 1: Adding a single entry
Start with a dictionary: inventory = {"server1": "192.168.1.10", "server2": "192.168.1.20"}
To add a new server: inventory["server3"] = "192.168.1.30"
The dictionary now contains three entries.
Example 2: Adding multiple entries at once
Use the update() method to add several key-value pairs in one step:
inventory.update({"server4": "192.168.1.40", "server5": "192.168.1.50"})
This is cleaner than writing multiple assignment lines.
Example 3: Adding a nested dictionary
You can add a dictionary as a value:
inventory["server6"] = {"ip": "192.168.1.60", "role": "database", "status": "active"}
Now you have a nested structure for richer data.
✅ Best Practices
- Always check if a key already exists before adding if you want to avoid accidental overwrites. Use the in keyword: if "server3" not in inventory: then add it.
- Use descriptive key names that are consistent (e.g., all lowercase with underscores).
- When adding many entries, prefer update() over multiple single assignments for readability.
📝 Summary
Adding new key-value pairs to a dictionary is one of the most frequent operations you'll perform. The syntax is simple — dict[key] = value — and it works for both adding and updating. Remember that dictionaries are flexible, allowing you to store any data type as a value, including other dictionaries. This makes them incredibly useful for managing configurations, inventories, and any structured data in your Python scripts.
Adding a new key-value pair to a dictionary stores a new piece of data under a unique key that didn't exist before.
🔧 Example 1: Adding a single key-value pair to an empty dictionary
This example starts with an empty dictionary and adds one entry.
engineer = {}
engineer["name"] = "Alice"
print(engineer)
📤 Output: {'name': 'Alice'}
🔧 Example 2: Adding multiple key-value pairs one at a time
This example builds a dictionary by adding pairs step by step.
engineer = {}
engineer["name"] = "Bob"
engineer["role"] = "Systems Engineer"
engineer["years_experience"] = 5
print(engineer)
📤 Output: {'name': 'Bob', 'role': 'Systems Engineer', 'years_experience': 5}
🔧 Example 3: Adding a key-value pair to an existing dictionary
This example adds a new key to a dictionary that already has data.
engineer = {"name": "Carol", "team": "Platform"}
engineer["language"] = "Python"
print(engineer)
📤 Output: {'name': 'Carol', 'team': 'Platform', 'language': 'Python'}
🔧 Example 4: Adding a key with a list as the value
This example stores multiple values under a single key by using a list.
engineer = {"name": "Dave"}
engineer["certifications"] = ["AWS", "Kubernetes", "Terraform"]
print(engineer)
📤 Output: {'name': 'Dave', 'certifications': ['AWS', 'Kubernetes', 'Terraform']}
🔧 Example 5: Adding a key-value pair based on a condition
This example adds a new key only when a certain condition is met.
engineer = {"name": "Eve", "years_experience": 3}
if engineer["years_experience"] >= 3:
engineer["senior_status"] = True
print(engineer)
📤 Output: {'name': 'Eve', 'years_experience': 3, 'senior_status': True}
📊 Comparison Table
| Method | Description | Example |
|---|---|---|
dict[key] = value |
Adds a new key-value pair | engineer["city"] = "Austin" |
| Conditional add | Adds only if condition is true | if x > 0: dict["key"] = value |
| List as value | Stores multiple items under one key | dict["tools"] = ["Python", "Docker"] |
🧠 Context Introduction
Dictionaries in Python are mutable, meaning you can change them after they are created. One of the most common operations is adding new key-value pairs. This is essential when you're building configurations, mapping resources, or storing dynamic data — for example, adding a new server to an inventory or appending a new environment variable to a settings dictionary.
⚙️ How to Add a New Key-Value Pair
Adding a new entry to a dictionary is straightforward. You simply assign a value to a new key using the assignment operator (=).
- Use the dictionary name followed by square brackets containing the new key.
- Then use the equals sign and provide the value.
Example:
If you have a dictionary called server_config and you want to add a new key region with the value us-east-1, you would write:
server_config["region"] = "us-east-1"
This will add the new key-value pair to the dictionary. If the key already exists, this operation will update the existing value instead.
🛠️ Key Rules to Remember
- Keys must be unique — adding a key that already exists will overwrite the old value.
- Keys must be immutable — strings, numbers, and tuples are allowed; lists are not.
- Values can be any data type — strings, numbers, lists, other dictionaries, or even functions.
📊 Comparison: Adding vs Updating
| Operation | Key Exists? | Result |
|---|---|---|
| Add | No | New key-value pair is created |
| Update | Yes | Existing value is replaced with new value |
Both operations use the exact same syntax: dictionary_name["key"] = value
🕵️ Practical Examples for Engineers
Example 1: Adding a single entry
Start with a dictionary: inventory = {"server1": "192.168.1.10", "server2": "192.168.1.20"}
To add a new server: inventory["server3"] = "192.168.1.30"
The dictionary now contains three entries.
Example 2: Adding multiple entries at once
Use the update() method to add several key-value pairs in one step:
inventory.update({"server4": "192.168.1.40", "server5": "192.168.1.50"})
This is cleaner than writing multiple assignment lines.
Example 3: Adding a nested dictionary
You can add a dictionary as a value:
inventory["server6"] = {"ip": "192.168.1.60", "role": "database", "status": "active"}
Now you have a nested structure for richer data.
✅ Best Practices
- Always check if a key already exists before adding if you want to avoid accidental overwrites. Use the in keyword: if "server3" not in inventory: then add it.
- Use descriptive key names that are consistent (e.g., all lowercase with underscores).
- When adding many entries, prefer update() over multiple single assignments for readability.
📝 Summary
Adding new key-value pairs to a dictionary is one of the most frequent operations you'll perform. The syntax is simple — dict[key] = value — and it works for both adding and updating. Remember that dictionaries are flexible, allowing you to store any data type as a value, including other dictionaries. This makes them incredibly useful for managing configurations, inventories, and any structured data in your Python scripts.
Interactive Views
You are currently in 📚 All-in-One mode. Use the tabs at the top to switch to 📖 Theory Only or 💻 Code Only views.
Adding a new key-value pair to a dictionary stores a new piece of data under a unique key that didn't exist before.
🔧 Example 1: Adding a single key-value pair to an empty dictionary
This example starts with an empty dictionary and adds one entry.
engineer = {}
engineer["name"] = "Alice"
print(engineer)
📤 Output: {'name': 'Alice'}
🔧 Example 2: Adding multiple key-value pairs one at a time
This example builds a dictionary by adding pairs step by step.
engineer = {}
engineer["name"] = "Bob"
engineer["role"] = "Systems Engineer"
engineer["years_experience"] = 5
print(engineer)
📤 Output: {'name': 'Bob', 'role': 'Systems Engineer', 'years_experience': 5}
🔧 Example 3: Adding a key-value pair to an existing dictionary
This example adds a new key to a dictionary that already has data.
engineer = {"name": "Carol", "team": "Platform"}
engineer["language"] = "Python"
print(engineer)
📤 Output: {'name': 'Carol', 'team': 'Platform', 'language': 'Python'}
🔧 Example 4: Adding a key with a list as the value
This example stores multiple values under a single key by using a list.
engineer = {"name": "Dave"}
engineer["certifications"] = ["AWS", "Kubernetes", "Terraform"]
print(engineer)
📤 Output: {'name': 'Dave', 'certifications': ['AWS', 'Kubernetes', 'Terraform']}
🔧 Example 5: Adding a key-value pair based on a condition
This example adds a new key only when a certain condition is met.
engineer = {"name": "Eve", "years_experience": 3}
if engineer["years_experience"] >= 3:
engineer["senior_status"] = True
print(engineer)
📤 Output: {'name': 'Eve', 'years_experience': 3, 'senior_status': True}
📊 Comparison Table
| Method | Description | Example |
|---|---|---|
dict[key] = value |
Adds a new key-value pair | engineer["city"] = "Austin" |
| Conditional add | Adds only if condition is true | if x > 0: dict["key"] = value |
| List as value | Stores multiple items under one key | dict["tools"] = ["Python", "Docker"] |