回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我知道这个问题已经出现了很多变化,我已经讨论过了。具体来说,我所问的问题是<a href="https://stackoverflow.com/questions/27118687/updating-nested-dictionaries-when-data-has-existing-key">here</a>和<a href="https://stackoverflow.com/questions/49926727/update-dictionary-inside-of-dictionary-without-deleting-contents">here</a>。我已尝试使用列出的所有解决方案,但对我来说确实不起作用,因为在我的情况下,我必须遍历其他字典,而且很多时候dict of dict中的键也将是相同的(在这种情况下,该值应成为一个列表。让我用一个示例说明:</p>
<p>假设<code>entity_sentiment_dictionary</code>是我想从<code>entity_sentiment_int_int_dict</code>附加到的字典</p>
<pre><code>entity_sentiment_dictionary = { 'name': {'userid1': 0.0},
'Aditya': {'userid1': 0.0},
'Glen': {'5dad13fc54aeb500078637e0': -0.10000000149011612},
'Kenta': {'5dad13fc54aeb500078637e0': 0.0},
'Keita': {'5dd23a18c7949300087d8d88': 0.0},
'Ganchan': {'5dd23a18c7949300087d8d88': 0.0},
'Anna': {'5dd23a18c7949300087d8d88': 0.0},
'Joe': {'5dd23a18c7949300087d8d88': 0.8999999761581421}}
entity_sentiment_int_int_dict = { 'name': {'userid1': 0.1},
'Aditya': {'userid2': 0.3}}
</code></pre>
<p>当我更新时,结果应该是这样的:</p>
<pre><code>entity_sentiment_dictionary = { 'name': {'userid1': [0.0,0.1]},
'Aditya': {'userid1': 0.0, 'userid2': 0.3},
'Glen': {'5dad13fc54aeb500078637e0': -0.10000000149011612},
'Kenta': {'5dad13fc54aeb500078637e0': 0.0},
'Keita': {'5dd23a18c7949300087d8d88': 0.0},
'Ganchan': {'5dd23a18c7949300087d8d88': 0.0},
'Anna': {'5dd23a18c7949300087d8d88': 0.0},
'Joe': {'5dd23a18c7949300087d8d88': 0.8999999761581421}}
</code></pre>
<p>这就是我在尝试了所有我能在网上找到的方法后,到目前为止所达到的目标:</p>
<pre><code>for key in entity_sentiment_int_int_dict.keys():
if key in entity_sentiment_dictionary:
for k in entity_sentiment_dictionary.keys():
if key==k:
entity_sentiment_dictionary[key][k] = dict(entity_sentiment_int_int_dict[key])
else:
entity_sentiment_dictionary[key] = entity_sentiment_int_int_dict[key]
</code></pre>
<p>结果是:</p>
<pre><code>{'name': {'usedid1': 0.0,'name': {'userid1': 0.1}},
'Aditya': {'userid1': 0.0, 'Aditya': {'userid2': 0.5} },
'Glen': {'5dad13fc54aeb500078637e0': -0.10000000149011612},
'Kenta': {'5dad13fc54aeb500078637e0': 0.0},
'Keita': {'5dd23a18c7949300087d8d88': 0.0},
'Ganchan': {'5dd23a18c7949300087d8d88': 0.0},
'Anna': {'5dd23a18c7949300087d8d88': 0.0},
'Joe': {'5dd23a18c7949300087d8d88': 0.8999999761581421}}
</code></pre>
<p>我觉得我快到了,需要对嵌套的for循环进行更改。我们非常感谢您的帮助,并建议您使用任何其他方法来获得预期的结果</p>