python - 添加到复杂的嵌套 python 字典
问题描述
考虑我有以下字典。
d ={'parent1': {'2': {'3': {}}},'parent2':{'child1':{},'child2':{}}}
每个键都具有字典格式的值。
现在我想将键值对“u”添加到上述字典 d 中。
u = {"4":"2"} # dictionary that I want to add as a key to a child.
我正在尝试将它添加为 'parent2':{'child1':{},'child2':{}}` 的“child1”。u = {"4":"2"} 是键的值。您可以选择任何键名。
所以我的最终结果看起来像
d ={'parent1': {'2': {'3': {}}},'parent2':{'child1':{'newkey':{'4':'2'}}, 'child2':{}}}
我们已经知道的是我们必须在其中添加新信息(键:值),并且以列表的形式提供。
路径 = ['parent2','child1']
此路径表示我们必须添加新键:值对的路径。在这种情况下,它可以被解读为,我们必须进入“parent2”,我们有一个名为“child1”的孩子,在这个孩子中,我们必须将添加的新信息存储为 key:value 对。注意:路径不是硬编码的,它可以随时更改。感谢您是否可以在 python 中为我提供解决方案,或者您是否可以提供逻辑。谢谢
解决方案
请原谅,但鉴于以下情况:
d ={'parent1': {'2': {'3': {}}},'parent2':{'child1':{},'child2':{}}}
u = {"4":"2"} # dictionary that I want to add as a key to a child.
path = ['parent2','child1']
然后命令
d[path[0]][path[1]]['newkey'] = u
产量:
{'parent1': {'2': {'3': {}}},
'parent2': {'child1': {'newkey': {'4': '2'}}, 'child2': {}}}
这正是你所要求的。
请解释为什么这不是正确的答案
推荐阅读
- authentication - 如何在 Xamarin MobileServiceClient 中处理过期的身份验证令牌?
- python-2.7 - 在单独的行上打印多个变量 Python 2
- c# - C# Spire Document.SaveToStream 不工作
- python - 用于 lambda = 0 的 pyLDAvis 的条形宽度的含义
- java - 是否可以在 CodenameOne 中实现一个命令,一旦按下按钮而不使用 URL,它将显示 PDF
- web-component - 扩展自定义元素 Web 组件 v1
- reactjs - 兄弟组件中的 Redux 永远不会被调用?
- javascript - 多个 if 语句在 Javascript 中不起作用
- c# - 为所有实体设置级联删除
- python - 我不能将单个元素附加到嵌套列表