python 两个dict 合并并进行计算

摘要: 用pythonic 的方法,将两个dict合并,并进行计算. 如果key值相同,则将他们的值进行想加,否则保留原来的值.当然,通常会想到,用循环的方法来做,这是一般人都知道的做法,下面讲一个python  dict 内置的方法来实现。比如有如下两个字典:Dict A: {'a':1, 'b':2, 'c':3}Dict B: {'b':3, 'c':4, 'd':5}

用pythonic 的方法,将两个dict合并,并进行计算. 如果key值相同,则将他们的值进行想加,否则保留原来的值.
当然,通常会想到,用循环的方法来做,这是一般人都知道的做法,下面讲一个python dict 内置的方法来实现。
比如有如下两个字典:
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:

>>> 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 一样使用她,比如
C=A+B
for item in C:
    print item,C.get(item)


本文参考网址: http://docs.python.org/library/collections.html#collections.Counter

上一篇: django 在浏览器之外,模板之外,views之外使用国际化
下一篇: jquery 操作checkbox 总结(有测试源码下载)
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号