python实现两个dict合并与计算操作示例

yipeiwu_com6年前Python基础

本文实例讲述了python实现两个dict合并与计算操作。分享给大家供大家参考,具体如下:

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

运行结果:

a 1
c 7
b 5
d 5

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

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字典操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python实现 多进程导入CSV数据到 MySQL

前段时间帮同事处理了一个把 CSV 数据导入到 MySQL 的需求。两个很大的 CSV 文件, 分别有 3GB、2100 万条记录和 7GB、3500 万条记录。对于这个量级的数据,用简...

python实现从字符串中找出字符1的位置以及个数的方法

本文实例主要实现给出任意字符串,获取字符串中某字符的位置以及出现的总次数。 实现该功能代码的时候可以使用函数enumerate来将字符串分离成位置和字符,然后进行比较即可。 具体实现代码...

Python 多线程其他属性以及继承Thread类详解

Python 多线程其他属性以及继承Thread类详解

一、线程常用属性 1.threading.currentThread:返回当前线程变量 2.threading.enumerate:返回一个包含正在运行的线程的list,正在运行的线程指...

Python实现端口检测的方法

Python实现端口检测的方法

一、背景: 在平时工作中有遇到端口检测,查看服务端特定端口是否对外开放,常用nmap,tcping,telnet等,同时也可以利用站长工具等web扫描端口等。 但是在使用站长工具发现:...

Django实现web端tailf日志文件功能及实例详解

Django实现web端tailf日志文件功能及实例详解

这是Django Channels系列文章的第二篇,以web端实现tailf的案例讲解Channels的具体使用以及跟Celery的结合 通过上一篇 《Django使用Channels实...