国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python兩個字典鍵同值相加的幾種方法

2020-01-04 13:34:56
字體:
來源:轉載
供稿:網友

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

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

>>> A = {'a': 1, 'b': 2}>>> B = {'a': 8, 'c': 3}>>> A.update(B)>>> A{'a': 8, 'b': 2, 'c': 3}

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

方法一:

>>> 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}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 栾城县| 房山区| 永泰县| 武冈市| 木里| 台州市| 余庆县| 上栗县| 双峰县| 临夏市| 哈密市| 竹溪县| 紫阳县| 台江县| 山阳县| 资阳市| 怀集县| 镇沅| 隆昌县| 儋州市| 万山特区| 无为县| 昌江| 宁陵县| 延津县| 宣威市| 南安市| 大丰市| 岢岚县| 宾川县| 大港区| 福贡县| 铜陵市| 红桥区| 隆尧县| 甘洛县| 温泉县| 长岛县| 湘阴县| 微博| 墨竹工卡县|