Bird
Raised Fist0
Pythonprogramming~5 mins

Nested dictionaries in Python - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What is a nested dictionary in Python?
A nested dictionary is a dictionary where the values can also be dictionaries. It means you have dictionaries inside another dictionary, like boxes inside a bigger box.
Click to reveal answer
beginner
How do you access a value inside a nested dictionary?
You use multiple square brackets, one for each dictionary level. For example, data['key1']['key2'] accesses the value inside the inner dictionary under 'key2'.
Click to reveal answer
beginner
How can you add a new key-value pair inside a nested dictionary?
First access the inner dictionary, then assign a new key and value like data['outer_key']['new_key'] = value. This adds or updates the inner dictionary.
Click to reveal answer
intermediate
What happens if you try to access a key that does not exist in a nested dictionary?
Python raises a KeyError because the key is missing. To avoid this, you can use methods like .get() or check if the key exists first.
Click to reveal answer
intermediate
How can you loop through all keys and values in a nested dictionary?
Use a nested loop: the outer loop goes through the main dictionary, and the inner loop goes through each inner dictionary. This way you can access all keys and values at every level.
Click to reveal answer
What is the correct way to access the value 42 in this nested dictionary?
{'a': {'b': 42}}
Adata['a']['b']
Bdata['b']['a']
Cdata['a.b']
Ddata['a']['42']
How do you add a new key 'c' with value 100 inside the inner dictionary of {'a': {'b': 42}}?
Adata['a'].append({'c': 100})
Bdata['c'] = 100
Cdata['a']['c'] = 100
Ddata['a', 'c'] = 100
What error occurs if you try to access a missing key in a nested dictionary without checking?
AKeyError
BIndexError
CTypeError
DValueError
Which method safely gets a value from a nested dictionary without raising an error if the key is missing?
A.remove()
B.get()
C.pop()
D.append()
How do you loop through all keys and values in a nested dictionary?
AUse recursion only
BUse a single for loop over the outer dictionary only
CUse a while loop with a counter
DUse nested for loops, one for each dictionary level
Explain what a nested dictionary is and how you access values inside it.
Think about dictionaries inside dictionaries and how you use multiple brackets.
You got /2 concepts.
    Describe how to safely handle missing keys when working with nested dictionaries.
    Consider what happens if a key is not found and how to avoid errors.
    You got /3 concepts.

      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