python如何把兩個字典像這樣相加?
02-19
比如一個是 a:1 b:2
另一個是a:2 c:3相加後得到的新字典是 a:1 b:2 c:3就是說如果原字典有這個key,就不要加進來了
好像沒那麼複雜啦,一行代碼就搞定了!
{**d2, **d1} #so pythonic!
結果截圖:
這個是這樣的思考
如果是d1 = {a: 1, b: 2} 和 d2 = {a: 2, c: 3} 合併,要保留d1 中的原有key 的值,
可以這樣,保留誰的,作為update的參數,即可。
collection 模塊的 ChainMap 是否可以滿足你的需求,它的一個好處是,不會改變原字典的值,collection 模塊的使用可以參考:Python 模塊簡介 -- collections
以前不知道有update,這樣子做過:
d3={k:d1[k] if k in d1.keys() else d2[k] for k in set(d1.keys()+d2.keys())}
其中d1,d2是原字典,d3是合併結果,如果d1,d2的鍵有重複則選擇保留d1的。b update a
推薦閱讀:
※深入淺出區塊鏈(1)介紹
※Python3中PyMongo的用法
※Flask+Echarts 實現動圖圖表
※給妹子講python--21函數參數的匹配與解包