Skip to main content

Foundations of Python Programming: Functions First

Section 10.2 Nested Dictionaries

Just as lists can contain items of any type, the value associated with a key in a dictionary can also be an object of any type. In particular, it is often useful to have a list or a dictionary as a value in a dictionary. And of course, those lists or dictionaries can also contain lists and dictionaries. There can be many layers of nesting.
Only the values in dictionaries can be objects of arbitrary type. The keys in dictionaries must be one of the immutable data types (numbers, strings, tuples).
Check Your Understanding

Checkpoint 10.2.1.

    Which of the following is a legal assignment statement, after the following code executes?
    d = {'key1': {'a': 5, 'c': 90, 5: 50}, 'key2':{'b': 3, 'c': "yes"}}
    
  • d[5] = {1: 2, 3: 4}
  • 5 is a valid key; {1:2, 3:4} is a dictionary with two keys, and is a valid value to associate with key 5.
  • d[{1:2, 3:4}] = 5
  • Dictionary keys must be of immutable types. A dictionary can’t be used as a key in a dictionary.
  • d[’key1’][’d’] = d[’key2’]
  • d[’key2’] is {’b’: 3, ’c’: "yes"}, a python object. It can be bound to the key ’d’ in a dictionary {’a’: 5, ’c’: 90, 5: 50}
  • d[key2] = 3
  • key2 is an unbound variable here. d[’key2’] would be OK.

Checkpoint 10.2.2.

1. Extract the value associated with the key color and assign it to the variable color. Do not hard code this.
You have attempted of activities on this page.