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

2021-09-26 22:46:47 字數 1808 閱讀 8587

兩個字典如果不考慮鍵相同則相加的話,可以使用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.update()

... else:

... c.update()

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

方法五:

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

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

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

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