本文实例讲述了python实现两个dict合并与计算操作。分享给大家供大家参考,具体如下:
用pythonic 的方法,将两个dict合并,并进行计算. 如果key值相同,则将他们的值进行想加,否则保留原来的值.
当然,通常会想到,用循环的方法来做,这是一般人都知道的做法,下面讲一个python dict 内置的方法来实现。
比如有如下两个字典:
1
2
|
Dict A: { 'a' : 1 , 'b' : 2 , 'c' : 3 }
Dict B: { 'b' : 3 , 'c' : 4 , 'd' : 5 }
|
将他们想加后得到的结果是:
{'a':1, 'b':5, 'c':7, 'd':5}
最简单的办法是使用 collections.Counter
:
1
2
3
4
5
|
>>> from collections import Counter
>>> A = Counter({ 'a' : 1 , 'b' : 2 , 'c' : 3 })
>>> B = Counter({ 'b' : 3 , 'c' : 4 , 'd' : 5 })
>>> A + B
Counter({ 'c' : 7 , 'b' : 5 , 'd' : 5 , 'a' : 1 })
|
Counter 是 dict 的子类,因此你可以像使用dict 一样使用她,比如
1
2
3
|
>>> C = A + B
>>> for item in C:
print item,C.get(item)
|
运行结果:
a 1
c 7
b 5
d 5
本文参考网址: http://docs.python.org/library/collections.html#collections.Counter
希望本文所述对大家Python程序设计有所帮助。
原文链接:http://www.yihaomen.com/article/python/273.htm