这是我打算做的:
d = {}
d['a']['b'] = 123
我期望的是这样的字典:
{"a":{"b":123}}
但是错误是:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'a'
谁能告诉我我该怎么做?非常感谢!
首先,您必须创建a
嵌套字典:
d['a'] = {}
d['a']['b'] = 123
或创建格式完整的嵌套字典:
d['a'] = {'b': 123}
或使用父字典collections.defaultdict()
对象,让其根据需要为您创建嵌套字典:
from collections import defaultdict
d = defaultdict(dict)
d['a']['b'] = 123
如果您希望此方法适用于任何深度,请创建一个自引用工厂函数:
from collections import defaultdict
tree = lambda: defaultdict(tree)
d = tree()
d['a']['b'] = 123
d['foo']['bar']['baz'] = 'spam'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句