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

yipeiwu_com7年前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 numpy之np.random的随机数函数使用介绍

np.random的随机数函数(1) 函数 说明 rand(d0,d1,..,dn)...

解决python通过cx_Oracle模块连接Oracle乱码的问题

用python连接Oracle是总是乱码,最有可能的是oracle客户端的字符编码设置不对。 本人是在进行数据插入的时候总是报关键字"From"不存在,打印插入的Sql在pl/sql中进...

解决PyCharm控制台输出乱码的问题

解决PyCharm控制台输出乱码的问题

最近公司新换了台电脑,各种开发环境要重新配置,想想Paas确实还是有市场的,如果有了,这种情况可以省下不少气力。吐槽一下,言归正传 装完python后,继续装好PyCharm。把之前的程...

Python实现的拟合二元一次函数功能示例【基于scipy模块】

Python实现的拟合二元一次函数功能示例【基于scipy模块】

本文实例讲述了Python实现的拟合二元一次函数功能。分享给大家供大家参考,具体如下: 背景: 使用scipy拟合一元二次函数。 参考: HYRY Studio-《用Python做科学计...

zbar解码二维码和条形码示例

复制代码 代码如下:#!/usr/bin/env python# coding: u8import osimport zbarimport Imageimport urllibimpor...