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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

Python两个字典键同值相加的几种方法

發(fā)布時(shí)間:2023/11/28 生活经验 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python两个字典键同值相加的几种方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 by-sa 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/Jerry_1126/article/details/86378259
兩個(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è)字典,如果考慮鍵同則值相加的問(wèn)題,可以使用下面的幾種方法:

方法一:
>>> 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}

?

rest={}

for i in freq_stat:
for key,value in i.items():
if key in rest:
rest[key]+=1
else:
rest[key]=1

rest=sorted(rest.items(),key=lambda d:d[1])


?
————————————————
版權(quán)聲明:本文為CSDN博主「杰瑞26」的原創(chuàng)文章,遵循CC 4.0 by-sa版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Jerry_1126/article/details/86378259

?

總結(jié)

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

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