<p>这里有一个解决方案:</p>
<pre><code>for k, v in entity_sentiment_int_int_dict.items():
if k in entity_sentiment_dictionary.keys():
entry = entity_sentiment_dictionary[k]
for update_key, update_val in v.items():
if update_key in entry:
if isinstance(entry[update_key], list):
entry[update_key].append(update_val)
else:
entry[update_key] = [entry[update_key], update_val]
else:
entry[update_key] = update_val
# with 'out' as desired output dict from OP:
entity_sentiment_dictionary == out # True
</code></pre>
<p>要复制的完整代码:</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}}
out = {'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}}
for k, v in entity_sentiment_int_int_dict.items():
if k in entity_sentiment_dictionary.keys():
entry = entity_sentiment_dictionary[k]
for update_key, update_val in v.items():
if update_key in entry:
if isinstance(entry[update_key], list):
entry[update_key].append(update_val)
else:
entry[update_key] = [entry[update_key], update_val]
else:
entry[update_key] = update_val
</code></pre>
<p>断言测试和实际输出:</p>
<pre><code>print(f"Result matches desired output: {entity_sentiment_dictionary == out}")
# Result matches desired output: True
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>