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

2022-10-04 18:00:22 字數 1711 閱讀 1588

兩個字典a = , b = 要合併這兩個字典,鍵值同則相加。

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

>>> a =

>>> b =

>>> a.update(b)

>>> a

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

方法一:

>>> a =

>>> b =

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

>程式設計客棧》 b =

>>> c = {}

>>> for key in list(set(a) | set(b)):

... if a.get(key) and b.get(key):

... c.updwww.cppcns.comate()

... else:

... c.update()

&程式設計客棧gt;>> c

方法三:

>>> a =

>>> b =

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

方法四:

>>> a =

>>> b =

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

>>> b =

>>> c = {}

>>> for key in a:

... if b.get(key):

... c[key] = a[key] + b[key]

... else:

... c[key] =www.cppcns.com a[key]

>>> for key in b:

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

... c[key] = b[key]

>>www.cppcns.com;> c

總結

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

兩個字典如果不考慮鍵相同則相加的話,可以使用d1.update d2 可以很方便合併,但這樣的後面的字典到中的值會覆蓋字典d1中的值。a b a.update b a 如果要考慮兩個字典,如果考慮鍵同則值相加的問題,可以使用下面的幾種方法 方法一 a b for key,value in b.ite...

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

兩個字典a b 要合併這兩個字典,鍵值同則相加。兩個字典如果不考慮鍵相同則相加的話,可以使用d1.update d2 可以很方便合併,但這樣的後面的字典到中的值會覆蓋字典d1中的值。方法一 a b a.update b a 如果要考慮兩個字典,如果考慮鍵同則值相加的問題,可以使用下面的幾種方法 方法...

python判斷兩個字典是否相同

python自帶的資料結構dict非常好用,之前不知道怎麼比較2個字典是否相同,做法是乙個乙個key比較過去。現在想到可以直接用 進行判斷!a dict one 1,two 2,three 3 b c dict zip one two three 1,2 3 d dict two 2 one 1 t...