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

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

如何避免在嵌套字典中添加重復值?

如何避免在嵌套字典中添加重復值?

慕容708150 2023-06-13 14:45:26
我有一個復雜的嵌套字典 - 但我已將我的問題簡化為這個玩具示例。添加一個值會跨多個字典這樣做,這不是故意的:from collections import defaultdictimport jsonDist_T = defaultdict(lambda:([]))Filter_T = defaultdict(lambda:Dist_T)Phase_T = defaultdict(lambda:Filter_T)    Phase_T[60]['Green'][4].append('here')Phase_T[60]['Green'][4].append('there')Phase_T[60]['Blue'][4].append('over_there') #"over-there" will also be appended to the                                            # list for the dictionary of the                                            # Green key which is not intendedprint (json.dumps(Phase_T, indent=2))輸出是:{ "60": { "Green": { "4": [ "here", "there", "over_there" ] }, "Blue": { "4": [ "here", "there", "over_there" ] } } }想要的是:{ "60": { "Green": { "4": [ "here", "there"] }, "Blue": { "4": [ "over_there" ] } } }
查看完整描述

1 回答

?
汪汪一只貓

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

Phase_T你應該在一行中聲明:


Phase_T = defaultdict(lambda: defaultdict(lambda: defaultdict(list)))



Phase_T[60]['Green'][4].append('here')

Phase_T[60]['Green'][4].append('there')


Phase_T[60]['Blue'][4].append('over_there')


print (json.dumps(Phase_T, indent=2))

這打?。?/p>


{

  "60": {

    "Green": {

      "4": [

        "here",

        "there"

      ]

    },

    "Blue": {

      "4": [

        "over_there"

      ]

    }

  }

}


查看完整回答
反對 回復 2023-06-13
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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