如何迭代嵌套的字典?

我有一个嵌套的python字典数据结构.我想在不使用收集模块的情况下读取其键和值.数据结构如下所示.

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

我试图使用波纹管方式读取字典中的键但得到错误.

for key, value in d:
    print(Key)

错误

ValueError: too many values to unpack (expected 2)

所以任何人都可以解释错误背后的原因以及如何遍历字典.

最佳答案
作为请求的输出,代码是这样的

    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

代替iteritems()你也可以使用items(),但是iteritems()效率更高并返回迭代器.

希望这可以帮助 :)

转载注明原文:如何迭代嵌套的字典? - 代码日志