第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當(dāng)鍵已經(jīng)存在時更新字典內(nèi)部的字典

當(dāng)鍵已經(jīng)存在時更新字典內(nèi)部的字典

MMTTMM 2022-07-26 10:33:36
我知道已經(jīng)存在這個問題的變體,并且我已經(jīng)完成了它們。具體來說,我遇到的問題是here和here。我已經(jīng)嘗試使用列出的所有解決方案,但它確實對我不起作用,因為在我的情況下,我必須遍歷另一個字典,而且很多時候 dict 的 dict 中的鍵也將是相同的(在這種情況下值應(yīng)該變成一個列表。讓我用一個例子來說明:可以說entity_sentiment_dictionary是我要附加到的字典 fromentity_sentiment_int_int_dictentity_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}}當(dāng)我更新時,結(jié)果應(yīng)該是這樣的: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}}這是我在嘗試了我可以在網(wǎng)上找到的所有方法后所達到的目標(biāo):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]我覺得我快到了,需要對嵌套的 for 循環(huán)進行更改。感謝您提供任何幫助,并且還建議使用任何其他方式來獲得預(yù)期結(jié)果。
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經(jīng)驗 獲得超6個贊

這是一個解決方案:


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

完整的代碼重現(xiàn):


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

斷言測試和實際輸出:


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}}


查看完整回答
反對 回復(fù) 2022-07-26
?
嚕嚕噠

TA貢獻1784條經(jīng)驗 獲得超7個贊

這可以滿足您的要求。可以進一步優(yōu)化。

for key in entity_sentiment_int_int_dict.keys():    if key in entity_sentiment_dictionary.keys():        if entity_sentiment_dictionary[key].keys() == entity_sentiment_int_int_dict[key].keys():
            temp = []
            temp.append(next(iter(entity_sentiment_dictionary[key].values())))
            temp.append(next(iter(entity_sentiment_int_int_dict[key].values())))
            entity_sentiment_dictionary[key][next(iter(entity_sentiment_dictionary[key].keys()))] = temp        else:
            entity_sentiment_dictionary[key].update(entity_sentiment_int_int_dict[key])
    else:
        entity_sentiment_dictionary.update(entity_sentiment_int_int_dict[key])

輸出 

http://img1.sycdn.imooc.com//62df52b000018de005240149.jpg

查看完整回答
反對 回復(fù) 2022-07-26
  • 2 回答
  • 0 關(guān)注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號