我有一个名为" session"包含以下内容:
{
'odbs': {'steps1': {'tension': 3, 'comp': 3}},
'odbdata': {'steps2': {'tension': 500, 'Session Step': {'Frame': 5000}, 'comp': 30}}
}
正如您所看到的,odbs
内的odbdata
和session
字典以及Session Step
内的steps2
字典
我想将Session Step
字典复制到steps1
字典中,而不替换其中的现有值。我尝试过更新,但它取代了其他值。我想要' odbs'字典成为
'odbs': {'steps1': {'tension': 3, 'Session Step': {'Frame': 5000}, 'comp': 3}}
答案 0 :(得分:1)
我不确定我是否理解这个问题,但是如何:
data = {
'odbs': {'steps1': {'tension': 3, 'comp': 3}},
'odbdata': {'steps2': {'tension': 500, 'Session Step': {'Frame': 5000}, 'comp': 30}}
}
data['odbs']['steps1']['Session Step'] = data['odbdata']['steps2']['Session Step']
我建议不要使用所有这些硬编码值......也许这里的几个类很有用,或者键字符串至少有一些CONST值。
答案 1 :(得分:0)
从你的问题看,这可能有效
data['odbs']['steps1']['Session Step'] = data['odbdata']['steps2']['Session Step']
答案 2 :(得分:0)
data = {
'odbs': {'steps1': {'tension': 3, 'comp': 3}},
'odbdata': {'steps2': {'tension': 500, 'Session Step': {'Frame': 5000}, 'comp': 30}}
}
to_update = data['odbs']['steps1']
source = data['odbdata']['steps2']['Session Step']
to_update.update(source)
出:
{'odbdata': {'steps2': {'Session Step': {'Frame': 5000},
'comp': 30,
'tension': 500}},
'odbs': {'steps1': {'Frame': 5000, 'comp': 3, 'tension': 3}}}
答案 3 :(得分:0)
您只需将密钥Session Step
添加到steps1
字典,然后将其初始化为Session Step
中steps2
的值。
session['odbs']['steps1']['Session Step'] = session['odbdata']['steps2']['Session Step']
那就是说,你能否避免在两个词典中都有同样的价值?也许通过将价值分解为常数,或通过重组字典?