我正在创建一个深层次的字典结构.我正在尝试做类似以下的事情:
dict = {}
dict['a']['b'] = True
Run Code Online (Sandbox Code Playgroud)
目前上述失败是因为密钥'a'不存在.目前,我必须检查每个嵌套级别并手动插入一个空字典.是否有某种类型的语法糖能够做到像上面这样可以产生的东西:
{'a': {'b': True}}
Run Code Online (Sandbox Code Playgroud)
无需在每个嵌套级别创建一个空字典?
Hen*_*ter 27
正如其他人所说,使用defaultdict.这是我喜欢任意深度嵌套字典的习语:
nested_dict = lambda: collections.defaultdict(nested_dict)
d = nested_dict()
d[1][2][3] = 'Hello, dictionary!'
print(d[1][2][3]) # Prints Hello, dictionary!
Run Code Online (Sandbox Code Playgroud)
这也会检查元素是否存在更好,因为您可能不再需要使用get:
if not d[2][3][4][5]:
print('That element is empty!')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7138 次 |
| 最近记录: |