日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python字典值求和_Python两个字典键同值相加的方法总结

發(fā)布時(shí)間:2025/3/15 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python字典值求和_Python两个字典键同值相加的方法总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python字典鍵同值相加詳解

兩個(gè)字典A = {'a': 1, 'b': 2, 'c': 3}, B = {'b': 4, 'c': 6, 'd': 8} 要合并這兩個(gè)字典,鍵值同則相加。

兩個(gè)字典如果不考慮鍵相同則相加的話,可以使用d1.update(d2)可以很方便合并,但這樣的后面的字典到中的值會(huì)覆蓋字典d1中的值。

>>> A = {'a': 1, 'b': 2}

>>> B = {'a': 8, 'c': 3}

>>> A.update(B)

>>> A

{'a': 8, 'b': 2, 'c': 3}

如果要考慮兩個(gè)字典,如果考慮鍵同則值相加的問題,可以使用下面的幾種方法:

方法一:

>>> A = {'a': 1, 'b': 2, 'c': 3}

>>> B = {'b': 4, 'c': 6, 'd': 8}

>>> for key,value in B.items():

... if key in A:

... A[key] += value

... else:

... A[key] = value

>>> dict(sorted(A.items(), key=lambda d:d[1]))

{'a': 1, 'b': 6, 'd': 8, 'c': 9}

方法二:

>>> A = {'a': 1, 'b': 2, 'c': 3}

>>> B = {'b': 4, 'c': 6, 'd': 8}

>>> C = {}

>>> for key in list(set(A) | set(B)):

... if A.get(key) and B.get(key):

... C.update({key: A.get(key) + B.get(key)})

... else:

... C.update({key: A.get(key) or B.get(key)})

>>> C

{'c': 9, 'd': 8, 'a': 1, 'b': 6}

方法三:

>>> A = {'a': 1, 'b': 2, 'c': 3}

>>> B = {'b': 4, 'c': 6, 'd': 8}

>>> def dict_union(d1, d2):

... keys = d1.keys() | d2.keys()

... temp = {}

... for key in keys:

... temp[key] = sum([d.get(key,0) for d in (d1, d2)])

... return temp

>>> C = dict_union(A, B)

>>> C

{'d': 8, 'a': 1, 'b': 6, 'c': 9}

方法四:

>>> A = {'a': 1, 'b': 2, 'c': 3}

>>> B = {'b': 4, 'c': 6, 'd': 8}

>>> C = {}

>>> for key1 in A:

... for key2 in B:

... if key1 in B:

... C[key1] = A[key1] + B[key1]

... else:

... C[key1] = A[key1]

... if key2 not in A:

... C[key2] = B[key2]

>>> C

{'a': 1, 'd': 8, 'b': 6, 'c': 9}

方法五:

>>> A = {'a': 1, 'b': 2, 'c': 3}

>>> B = {'b': 4, 'c': 6, 'd': 8}

>>> C = {}

>>> for key in A:

... if B.get(key):

... C[key] = A[key] + B[key]

... else:

... C[key] = A[key]

>>> for key in B:

... if not A.get(key):

... C[key] = B[key]

>>> C

{'a': 1, 'b': 6, 'c': 9, 'd': 8}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)碼農(nóng)之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

Python 互換字典的鍵值對(duì)實(shí)例

1.zip

dic = {'a':1, 'b':2, 'c':3}

dic_new = dict(zip(dic.values(), dic.keys()))

print(dic_new)

# {1: 'a', 2: 'b', 3: 'c'}

2.循環(huán)

dic = {'a':1, 'b':2, 'c':3}

dic_new = {}

for key, val in dic.items():

dic_new[val] = key

print(dic_new)

# {1: 'a', 2: 'b', 3: 'c'}

3.列表生成器

dic_new = dict([val, key] for key, val in dic.items())

print(dic_new)

# {1: 'a', 2: 'b', 3: 'c'}

以上這篇Python 互換字典的鍵值對(duì)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持碼農(nóng)之家。

以上就是本次給大家分享的關(guān)于java的全部知識(shí)點(diǎn)內(nèi)容總結(jié),大家還可以在下方相關(guān)文章里找到相關(guān)文章進(jìn)一步學(xué)習(xí),感謝大家的閱讀和支持。

總結(jié)

以上是生活随笔為你收集整理的python字典值求和_Python两个字典键同值相加的方法总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。