Update Dictionary in Python – Methods & Examples

Introduction

Python provides several ways to update dictionary data, making it easy to keep information accurate and up to date.

Understanding how to update dictionaries is an essential skill for Python developers because dictionaries are commonly used in web development, APIs, databases, automation scripts, and data processing applications.

What Does “Update Dictionary” Mean?

Updating a dictionary means:

  • Modifying the value of an existing key
  • Adding a new key-value pair
  • Updating multiple key-value pairs at once

Example:


student = {
    "name": "John",
    "age": 20
}

Update the age:


student["age"] = 21
print(student)

Output:

{
‘name’: ‘John’,
‘age’: 21
}

The existing value has been updated.

Why Update Dictionaries?

Updating dictionaries is useful when:

  • User information changes
  • Product prices are modified
  • Application settings need updates
  • Database records change
  • New data becomes available

Example:


product = {
    "name": "Laptop",
    "price": 50000
}

If the price changes:


product["price"] = 55000

The dictionary now contains the latest information.

Update a Value Using a Key

The simplest way to update a dictionary is by assigning a new value to an existing key.

Syntax


dictionary_name[key] = new_value

Example:


student = {
    "name": "John",
    "age": 20
}
student["age"] = 25
print(student)

Output:

{
‘name’: ‘John’,
‘age’: 25
}

Update String Values

Example:


employee = {
    "name": "John",
    "department": "Sales"
}
employee["department"] = "Marketing"
print(employee)

Output:

{
‘name’: ‘John’,
‘department’: ‘Marketing’
}

Update Numeric Values

Example:


product = {
    "price": 1000
}
product["price"] = 1200
print(product)

Output:

{‘price’: 1200}

Add a New Key-Value Pair

If the key does not exist, Python automatically creates it.

Example:


student = {
    "name": "John"
}
student["age"] = 20
print(student)

Output:

{
‘name’: ‘John’,
‘age’: 20
}

A new key has been added.

Update Multiple Values Using update()

Python provides the update() method to update multiple values simultaneously.

Syntax


dictionary_name.update({
    key1: value1,
    key2: value2
})

Example:


student = {
    "name": "John",
    "age": 20
}
student.update({
    "age": 21,
    "city": "Delhi"
})
print(student)

Output:

{
‘name’: ‘John’,
‘age’: 21,
‘city’: ‘Delhi’
}

The existing value is updated and a new key is added.

Update Using Another Dictionary

Example:


student = {
    "name": "John",
    "age": 20
}
new_data = {
    "age": 22,
    "course": "Python"
}
student.update(new_data)
print(student)

Output:

{
‘name’: ‘John’,
‘age’: 22,
‘course’: ‘Python’
}

Update Using Keyword Arguments

The update() method also accepts keyword arguments.

Example:


student = {
    "name": "John"
}
student.update(age=20, city="Delhi")
print(student)

Output:

{
‘name’: ‘John’,
‘age’: 20,
‘city’: ‘Delhi’
}

Update Nested Dictionaries

A dictionary can contain another dictionary.

Example:


students = {
    "student1": {
        "name": "John",
        "age": 20
    }
}

Update nested data:


students["student1"]["age"] = 21
print(students)

Output:

{
‘student1’: {
‘name’: ‘John’,
‘age’: 21
}
}

Add Data to a Nested Dictionary

Example:


students = {
    "student1": {
        "name": "John"
    }
}
students["student1"]["course"] = "Python"
print(students)

Output:

{
‘student1’: {
‘name’: ‘John’,
‘course’: ‘Python’
} }

Updating Values Dynamically

Values can be updated based on calculations.

Example:


product = {
    "price": 1000
}
product["price"] += 200
print(product)

Output:

{‘price’: 1200}

Updating Dictionary Values in a Loop

Example:


scores = {
    "John": 80,
    "Emma": 90
}

for student in scores:


    scores[student] += 5
    print(scores)

Output:

{
‘John’: 85,
‘Emma’: 95
}

Real-Life Examples:

1. User Profile Update

Suppose a website stores user information.


user = {
    "username": "john123",
    "email": "john@example.com"
}

User changes email:


user["email"] = "john_new@example.com"
print(user)

Output:

{
‘username’: ‘john123’,
’email’: ‘john_new@example.com’
}

2. Product Price Update


product = {
    "name": "Laptop",
    "price": 50000
}

Increase price:


product["price"] = 55000
print(product)

Output:

{
‘name’: ‘Laptop’,
‘price’: 55000
}

3. Employee Record


employee = {
    "name": "Emma",
    "department": "Sales"
}

Promote employee:


employee["department"] = "Management"
print(employee)

Output:

{
‘name’: ‘Emma’,
‘department’: ‘Management’
}

Difference Between Assignment and update()

Feature Assignment update()
Update One Value Yes Yes
Update Multiple Values No Yes
Add New Keys Yes Yes
Merge Dictionaries No Yes
Example student["age"] = 21 student.update({
    "age": 21,
    "city": "Delhi"
})

Dictionary Update Methods Summary

Method Purpose
dict[key] = value Update one value
update() Update multiple values
update(dict) Merge dictionaries
update(**kwargs) Update using keywords

Advantages of Updating Dictionaries

  • Fast modifications
  • Easy syntax
  • Supports dynamic data
  • Efficient for large datasets
  • Works with nested structures
  • Commonly used in APIs and databases

Common Mistakes

1. Using a Wrong Key Name

Incorrect:


student = {
    "name": "John"
}
student["Name"] = "Emma"

Result:

{
‘name’: ‘John’,
‘Name’: ‘Emma’
}

Python treats “name” and “Name” as different keys.

2. Expecting update() to Return a Dictionary

Incorrect:


result = student.update({
    "age": 20
})
print(result)

Output:

None

The update() method modifies the dictionary directly.

3. Overwriting Existing Data Accidentally


student["name"] = "Emma"

The old value is lost.

Always verify before updating critical data.

4. Forgetting Nested Keys

Incorrect:


students["age"] = 20

Correct:


students["student1"]["age"] = 20

Best Practices

1. Use Meaningful Keys


user["first_name"] = "John"

Avoid unclear key names.

2. Use update() for Multiple Changes


user.update({
    "city": "Delhi",
    "country": "India"
})

This keeps code cleaner.

3. Validate Data Before Updating


if "email" in user:
    user["email"] = new_email

4. Keep Nested Structures Organized


employee["contact"]["phone"] = "1234567890"

This improves readability.

Conclusion

Updating dictionaries is a fundamental operation in Python programming. Since dictionaries are mutable, you can easily modify existing values, add new key-value pairs, update multiple entries using the update() method, and work with complex nested dictionaries.

Python Update Dictionary – Interview Questions

Q 1: How do you update a dictionary value?
Ans: By assigning a new value to an existing key: dict[key] = value.
Q 2: Can you add a new key-value pair?
Ans: Yes, simply assign a value to a new key.
Q 3: What is the update() method?
Ans: It merges another dictionary or key-value pairs into the dictionary.
Q 4: Can update() overwrite existing keys?
Ans: Yes, existing keys are updated with new values.
Q 5: Does updating affect the original dictionary?
Ans: Yes, the original dictionary is modified in place.

Python Update Dictionary – Objective Questions (MCQs)

Q1. How can you add a new key-value pair 'country':'India' to a dictionary d?






Q2. Which method is used to update multiple key-value pairs at once??






Q3. What will be the output of the following code?

d = {'a': 1, 'b': 2}
d.update({'b': 3, 'c': 4})
print(d)






Q4. Which statement updates the value of 'price' to 250 in d = {'item':'pen', 'price':200}?






Q5. What happens if you use update() with a key that doesn’t exist?






Related Python Tutorials