溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python如何實(shí)現(xiàn)兩個(gè)或多個(gè)字典合并相加

發(fā)布時(shí)間:2021-07-20 14:11:38 來(lái)源:億速云 閱讀:1761 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹python如何實(shí)現(xiàn)兩個(gè)或多個(gè)字典合并相加,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

這只是符合比較正常的需求和場(chǎng)景。

#一、適用合并兩個(gè)字典(key不能相同否則會(huì)被覆蓋),簡(jiǎn)單,好用。

A = {'a': 11, 'b': 22}
B = {'c': 48, 'd': 13}
#update() 把字典B的鍵/值對(duì)更新到A里
A.update(B)
print(A)

#二、適用多種場(chǎng)合,多字典存在相同key需要合并相加的場(chǎng)景比較適用。

def sum_dict(a,b):
  temp = dict()
  # python3,dict_keys類(lèi)似set; | 并集
  for key in a.keys()| b.keys():
    temp[key] = sum([d.get(key, 0) for d in (a, b)])
  return temp

def test():
  #python3使用reduce需要先導(dǎo)入
  from functools import reduce
  #[a,b,c]列表中的參數(shù)可以2個(gè)也可以多個(gè),自己嘗試。
  return print(reduce(sum_dict,[a,b,c]))

a = {'a': 1, 'b': 2, 'c': 3}
b = {'a':1,'b':3,'d':4}
c = {'g':3,'f':5,'a':10}
test()

三、解包法和第一種效果(限制)一樣,B吃掉A。

 A = {'a': 11, 'b': 22}
 B = {'a': 48, 'b': 13}
 print({**A,**B})

以上是“python如何實(shí)現(xiàn)兩個(gè)或多個(gè)字典合并相加”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI