python get all values from nested dictionary code example

Example 1: extract specific key values from nested dictionary

>>> [people[i]['phone'] for i in people]
['9102', '2341', '4563']

Example 2: extract specific tuple values from two different keys from nested dictionary

print data.keys()                                                # top level keys
>>> ['alpha', 'beta']

print [x.keys() for x in data.values()]                          # second level keys
>>> [[9, 2, 3, 5], [9, 2, 3, 5]]

print [y.keys() for x in data.values() for y in x.values()]      # third level keys
>>> [[1, 3, 6], [1, 2], [1, 3, 6], [1, 3, 6], [1, 3, 6], [1, 2], [1, 3, 6], [1, 3, 6]]

print [y.values() for x in data.values() for y in x.values()]    # third level values
>>> [[9.0, 4.0, 5.5], [1.1, 4.1], [9.1, 4.1, 5.1], [9.2, 4.4, 5.4], [9.2, 4.9, 5.0], [4.0, 7.9], [24, 89, 98], [9, 4, 5]]

Example 3: extract specific key values from nested dictionary

l = []
for person in people:
    l.append(people[person]['phone'])

>>> l
['9102', '2341', '4563']

Example 4: extract specific key values from nested dictionary

>>> [val.get('phone') for val in people.values()]
['4563', '9102', '2341']