How to iterate through a nested dict?

dictionary, python

Solution

As the requested output, the code goes like this

    d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}

    for k1,v1 in d.iteritems(): # the basic way
        temp = ""   
        temp+=k1
        for k2,v2 in v1.iteritems():
           temp = temp+" "+str(k2)+" "+str(v2)
        print temp

In place of `iteritems()` you can use `items()` as well, but `iteritems()` is much more efficient and returns an iterator.

Hope this helps :)

Problem

I have a nested `python dictionary` data structure. I want to read its keys and values `without` using `collection` module. The data structure is like bellow. ``` d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}} ``` I was trying to read the keys in the dictionary using the bellow way but getting error. Code ``` for key, value in d: print(Key) ``` Error ``` ValueError: too many values to unpack (expected 2) ``` So can anyone please explain the reason behind the error and how to iterate through the dictionary.

Original source

Related problems