我有一个嵌套的python dictionary数据结构。我想without使用collection模块读取其键和值。数据结构像下面这样。
python dictionary
without
collection
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()效率更高并且返回迭代器。
iteritems()
items()
希望这可以帮助 :)