Bird
Raised Fist0
Pythonprogramming~20 mins

Adding and updating key-value pairs in Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
๐ŸŽ–๏ธ
Dictionary Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
What is the output of this dictionary update?
Consider the following Python code that updates a dictionary. What will be printed?
Python
data = {'a': 1, 'b': 2}
data['c'] = 3
data['a'] = 4
print(data)
A{'a': 1, 'b': 2}
B{'a': 1, 'b': 2, 'c': 3}
C{'a': 4, 'b': 2}
D{'a': 4, 'b': 2, 'c': 3}
Attempts:
2 left
๐Ÿ’ก Hint
Remember that assigning a value to an existing key updates it.
โ“ Predict Output
intermediate
2:00remaining
What does this code print after using update()?
Look at this code snippet. What will be the output after the update method?
Python
info = {'name': 'Alice', 'age': 25}
info.update({'age': 30, 'city': 'NY'})
print(info)
A{'name': 'Alice', 'age': 30, 'city': 'NY'}
B{'name': 'Alice', 'age': 25, 'city': 'NY'}
C{'name': 'Alice', 'city': 'NY'}
D{'age': 30, 'city': 'NY'}
Attempts:
2 left
๐Ÿ’ก Hint
The update method changes existing keys and adds new ones.
โ“ Predict Output
advanced
2:30remaining
What is the output when updating nested dictionaries?
What will this code print?
Python
settings = {'display': {'brightness': 70, 'contrast': 50}}
settings['display']['brightness'] = 80
settings['sound'] = {'volume': 40}
print(settings)
A{'display': {'brightness': 70, 'contrast': 50}, 'sound': {'volume': 40}}
B{'display': {'brightness': 80, 'contrast': 50}}
C{'display': {'brightness': 80, 'contrast': 50}, 'sound': {'volume': 40}}
D{'display': {'brightness': 70, 'contrast': 50}, 'sound': 40}
Attempts:
2 left
๐Ÿ’ก Hint
Updating nested dictionary keys changes the inner dictionary values.
โ“ Predict Output
advanced
2:00remaining
What error does this code raise?
What error will this code produce?
Python
d = {'x': 1}
d[2,3] = 5
print(d)
A{'x': 1, (2, 3): 5}
BTypeError
CSyntaxError
DKeyError
Attempts:
2 left
๐Ÿ’ก Hint
Can tuples be used as dictionary keys?
โ“ Predict Output
expert
3:00remaining
What is the final dictionary after these updates?
What will be printed after running this code?
Python
d = {'a': 1, 'b': 2}
updates = [('a', 3), ('c', 4), ('b', 5)]
for k, v in updates:
    d[k] = v
print(d)
A{'a': 1, 'b': 2, 'c': 4}
B{'a': 3, 'b': 5, 'c': 4}
C{'a': 3, 'b': 2, 'c': 4}
D{'a': 1, 'b': 5, 'c': 4}
Attempts:
2 left
๐Ÿ’ก Hint
Each tuple updates or adds a key-value pair in the dictionary.

Practice

(1/5)
1. What happens when you use dictionary[key] = value in Python if the key already exists?
easy
A. A new key-value pair is added without changing the old one.
B. The value for that key is updated to the new value.
C. An error is raised because the key already exists.
D. The dictionary is cleared before adding the new pair.

Solution

  1. Step 1: Understand dictionary key assignment

    Using dictionary[key] = value sets the value for the given key.
  2. Step 2: Behavior when key exists

    If the key exists, the old value is replaced with the new one.
  3. Final Answer:

    The value for that key is updated to the new value. -> Option B
  4. Quick Check:

    Assigning existing key updates value [OK]
Hint: Assigning to existing key updates value, no error [OK]
Common Mistakes:
  • Thinking it adds a duplicate key
  • Expecting an error on existing key
  • Assuming dictionary clears automatically
2. Which of the following is the correct syntax to add a new key-value pair 'color': 'blue' to a dictionary named car?
easy
A. car.color = 'blue'
B. car.add('color', 'blue')
C. car('color') = 'blue'
D. car['color'] = 'blue'

Solution

  1. Step 1: Recall dictionary syntax for adding pairs

    Use dictionary[key] = value to add or update pairs.
  2. Step 2: Check each option

    car['color'] = 'blue' uses correct syntax: car['color'] = 'blue'.
  3. Final Answer:

    car['color'] = 'blue' -> Option D
  4. Quick Check:

    Use square brackets for keys [OK]
Hint: Use square brackets and equals sign to add/update [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Trying to call add() method which doesn't exist
  • Using dot notation which works only for objects
3. What is the output of this code?
fruit_colors = {'apple': 'red', 'banana': 'yellow'}
fruit_colors['banana'] = 'green'
fruit_colors['cherry'] = 'red'
print(fruit_colors)
medium
A. {'apple': 'red', 'banana': 'yellow', 'cherry': 'red'}
B. {'apple': 'red', 'banana': 'green'}
C. {'apple': 'red', 'banana': 'green', 'cherry': 'red'}
D. SyntaxError

Solution

  1. Step 1: Update existing key 'banana'

    The value for 'banana' changes from 'yellow' to 'green'.
  2. Step 2: Add new key 'cherry'

    The pair 'cherry': 'red' is added to the dictionary.
  3. Final Answer:

    {'apple': 'red', 'banana': 'green', 'cherry': 'red'} -> Option C
  4. Quick Check:

    Update and add keys correctly [OK]
Hint: Updating key changes value; new key adds pair [OK]
Common Mistakes:
  • Assuming old value stays after update
  • Forgetting to add new key
  • Expecting syntax error from valid code
4. Find the error in this code snippet:
data = {'x': 1, 'y': 2}
data['z'] == 3
print(data)
medium
A. Using '==' instead of '=' to add/update key-value pair.
B. Missing quotes around key 'z'.
C. Dictionary keys must be integers, not strings.
D. print() cannot display dictionaries.

Solution

  1. Step 1: Identify the operator used for assignment

    The code uses '==' which is a comparison operator, not assignment.
  2. Step 2: Correct operator for adding/updating dictionary

    Use '=' to assign value to a key in dictionary.
  3. Final Answer:

    Using '==' instead of '=' to add/update key-value pair. -> Option A
  4. Quick Check:

    Use '=' to assign values [OK]
Hint: Use single '=' to assign, not '==' [OK]
Common Mistakes:
  • Confusing '==' with '='
  • Thinking keys must be numbers
  • Believing print can't show dictionaries
5. You have a dictionary inventory = {'apple': 5, 'banana': 3}. You want to add 2 more apples to the count. Which code correctly updates the inventory?
hard
A. All of the above
B. inventory['apple'] += 2
C. inventory.update({'apple': inventory['apple'] + 2})
D. inventory['apple'] = inventory['apple'] + 2

Solution

  1. Step 1: Understand ways to update dictionary values

    You can update a value by direct assignment, augmented assignment, or using update() method.
  2. Step 2: Check each option

    inventory['apple'] = inventory['apple'] + 2 adds 2 and assigns directly. inventory['apple'] += 2 uses += operator. inventory.update({'apple': inventory['apple'] + 2}) uses update() with new value.
  3. Step 3: Confirm all methods work

    All three correctly increase 'apple' count by 2.
  4. Final Answer:

    All of the above -> Option A
  5. Quick Check:

    Multiple ways to update dictionary values [OK]
Hint: Multiple ways to update values, use any [OK]
Common Mistakes:
  • Thinking only one method works
  • Forgetting to add current value before assignment
  • Using update() incorrectly without new value