Bird
Raised Fist0
Pythonprogramming~10 mins

Nested dictionaries in Python - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a nested dictionary with a key 'person' and a nested key 'name'.

Python
data = {'person': {'name': [1]
Drag options to blanks, or click blank then click option'
Aname
BAlice
C'Alice'
D"name"
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Forgetting quotes around string values.
Using variable names without defining them.
2fill in blank
medium

Complete the code to access the nested value 'city' inside the 'address' dictionary.

Python
city = info['address'][[1]]
Drag options to blanks, or click blank then click option'
Acity
B'city'
C"address"
D'address'
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using the key without quotes.
Using the wrong key name.
3fill in blank
hard

Fix the error in the code to correctly add a nested dictionary under the key 'contact'.

Python
data['contact'] = [1]
Drag options to blanks, or click blank then click option'
A{'phone': '123-4567'}
B{phone: '123-4567'}
C['phone', '123-4567']
D('phone', '123-4567')
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using unquoted keys causing syntax errors.
Using list or tuple instead of dictionary.
4fill in blank
hard

Fill both blanks to create a nested dictionary with keys 'student' and 'grade'.

Python
record = { [1]: [2] }
Drag options to blanks, or click blank then click option'
A'student'
B'grade'
C90
D{'grade': 90}
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Not quoting the key 'student'.
Using a number instead of a dictionary for the value.
5fill in blank
hard

Fill both blanks to create a nested dictionary with keys 'team', 'player', and 'score'.

Python
game = { [1]: [2] }
Drag options to blanks, or click blank then click option'
A'team'
B{'player': 'John', 'score': 10}
C'player'
D'score'
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Not quoting keys.
Using incorrect data types for nested values.

Practice

(1/5)
1. What is a nested dictionary in Python?
Example: {'person': {'name': 'Alice', 'age': 30}}
easy
A. A dictionary with only one key
B. A dictionary inside another dictionary
C. A list inside a dictionary
D. A dictionary with numeric keys only

Solution

  1. Step 1: Understand dictionary structure

    A dictionary stores key-value pairs. Nested means one value is itself a dictionary.
  2. Step 2: Analyze the example

    In {'person': {'name': 'Alice', 'age': 30}}, the value for 'person' is another dictionary.
  3. Final Answer:

    A dictionary inside another dictionary -> Option B
  4. Quick Check:

    Nested dictionary = dictionary inside dictionary [OK]
Hint: Look for a dictionary as a value inside another dictionary [OK]
Common Mistakes:
  • Confusing nested dictionary with list inside dictionary
  • Thinking nested means only one key
  • Assuming keys must be numbers
2. Which of the following is the correct way to access the value 'blue' in this nested dictionary?
colors = {'shirt': {'color': 'blue', 'size': 'M'}}
easy
A. colors['shirt']['size']
B. colors['color']['shirt']
C. colors['shirt']['color']
D. colors['color']

Solution

  1. Step 1: Identify keys to reach 'blue'

    'blue' is the value of 'color' inside the dictionary for key 'shirt'.
  2. Step 2: Use correct key order

    Access outer key 'shirt' first, then inner key 'color': colors['shirt']['color'].
  3. Final Answer:

    colors['shirt']['color'] -> Option C
  4. Quick Check:

    Outer then inner keys = colors['shirt']['color'] [OK]
Hint: Use outer key first, then inner key in square brackets [OK]
Common Mistakes:
  • Swapping the order of keys
  • Trying to access keys that don't exist
  • Using only one key for nested value
3. What will be the output of this code?
data = {'user': {'name': 'Bob', 'age': 25}}
print(data['user']['age'])
medium
A. 25
B. Bob
C. {'name': 'Bob', 'age': 25}
D. KeyError

Solution

  1. Step 1: Access nested dictionary value

    data['user'] gives {'name': 'Bob', 'age': 25}.
  2. Step 2: Access 'age' key inside nested dictionary

    data['user']['age'] gives 25.
  3. Final Answer:

    25 -> Option A
  4. Quick Check:

    Nested key access returns 25 [OK]
Hint: Access keys step-by-step to get nested value [OK]
Common Mistakes:
  • Printing the whole nested dictionary instead of value
  • Using wrong key order
  • Expecting string 'Bob' instead of age
4. Find the error in this code snippet:
info = {'book': {'title': 'Python 101', 'pages': 200}}
print(info['book']['author'])
medium
A. No error, prints None
B. SyntaxError due to missing colon
C. TypeError because 'book' is not a dictionary
D. KeyError because 'author' key does not exist

Solution

  1. Step 1: Check keys in nested dictionary

    info['book'] has keys 'title' and 'pages', but no 'author'.
  2. Step 2: Accessing missing key causes error

    Trying info['book']['author'] raises KeyError because 'author' is missing.
  3. Final Answer:

    KeyError because 'author' key does not exist -> Option D
  4. Quick Check:

    Missing key access = KeyError [OK]
Hint: Check if key exists before accessing nested dictionary [OK]
Common Mistakes:
  • Assuming missing keys return None
  • Confusing KeyError with SyntaxError
  • Thinking nested dictionary keys are always present
5. Given this nested dictionary:
students = {
  'Alice': {'math': 90, 'science': 85},
  'Bob': {'math': 75, 'science': 95}
}

Which code correctly adds a new subject 'english' with score 88 for Alice?
hard
A. students['Alice']['english'] = 88
B. students['english']['Alice'] = 88
C. students['Alice'] = {'english': 88}
D. students['english'] = {'Alice': 88}

Solution

  1. Step 1: Identify where to add new subject

    We want to add 'english' score inside Alice's dictionary.
  2. Step 2: Add key-value pair inside nested dictionary

    Use students['Alice']['english'] = 88 to add the new subject and score.
  3. Final Answer:

    students['Alice']['english'] = 88 -> Option A
  4. Quick Check:

    Add key inside nested dict = students['Alice']['english'] = 88 [OK]
Hint: Add new key inside inner dictionary using outer then inner keys [OK]
Common Mistakes:
  • Replacing entire inner dictionary instead of adding key
  • Adding key at wrong dictionary level
  • Swapping keys order