x = { 'apple': 1, 'banana': 2 }

y = { 'banana': 10, 'pear': 11 }

需要把两个字典合并,最后输出结果是:

{ 'apple': 1, 'banana': 12, 'pear': 11 }

利用collections.Counter可轻松办到

>>> x = { 'apple': 1, 'banana': 2 }

>>> y = { 'banana': 10, 'pear': 11 }

>>> from collections import Counter

>>> X,Y = Counter(x), Counter(y)

>>> z = dict(X+Y)

>>> z

本人的写法:

>>>from collections import Counter

>>>dict(Counter(x)+Counter(y))

上面两位的答案都是对的,我做了一下性能对比,你可以看下。

from collections import Counter

x = { 'apple': 1, 'banana': 2 }

y = { 'banana': 10, 'pear': 11 }

def f():

i = 0

while 1:

if i == 10000:

break

for k, v in y.items():

if k in x.keys():

x[k] += v

else:

x[k] = v

i += 1

def g():

i = 0

while 1:

if i == 10000:

break

X,Y = Counter(x), Counter(y)

z = dict(X+Y)

i += 1

if __name__ == "__main__":

import timeit

tf = timeit.timeit(f, "from __main__ import f", number=10)

tg = timeit.timeit(g, "from __main__ import g", number=10)

print "f: %s\ng: %s" % (tf, tg)

输出:

f: 0.138742800623

g: 1.37559758279

我的建议是,简单的功能自己手写就好。

最后的结果中

banana

12

而不是

2

>>> x = { 'apple': 1, 'banana': 2 }

>>> y = { 'banana': 10, 'pear': 11 }

>>> for k, v in y.items():

...     if k in x.keys():

...         x[k] += v

...     else:

...         x[k] = v

...

>>> x

{'pear': 11, 'apple': 1, 'banana': 12}

>>>

python相同key合并value_python 合并字典,相同 key 的 value 如何相加?相关推荐

  1. python字典按照key排序_python中字典按key值排序的实现方法

    之前小编介绍了字典本身不可排序,但按值可以,小编也介绍了按value值排序的三种方法.sorted()函数可以对数字或字符串进行排序,按key排序只是输出的key值的排序列表,使用sorted()函数 ...

  2. python字典遍历value_Python遍历字典去key和value需要注意的点→enumerate和items()

    嗯,首先在提到enumerate()这个枚举方法之前,我想到的就是这个可以遍历任何一个元素,可以打印出来key和value,但是我没有想到的是,这个遍历的,仅仅限于遍历打印出索引和元素. 碰到这个问题 ...

  3. python dict添加key 和value_python迭代dict的key和value的方法

    python迭代dict的key和value的方法 迭代dict的key和value 我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value ...

  4. [python] 字典 pop(key)函数:删除字典中key及其值,并返回该值

    功能 删除字典给定键 key 及对应的值,返回值为被删除的值.key 不在字典中,则返回 default 值. 一般会在更新字典的时候用到. 语法 value_deleted = dict_name. ...

  5. python更新字典key对应的value_python修改字典内key对应值的方法

    python学习笔记:字典 python版本:Python 2.6.6 系统环境:CentOS release 6.2 x86_64 本文参考了互联网上前辈的一些文章 一.字典是python中最灵活的 ...

  6. python的6种基本数据类型--字典

    python的6种基本数据类型--字典 字典 字典的定义与特性 字典是Python语言中唯一的映射类型. 定义:{key1:value1,key2:value2} 1.键与值用冒号":&qu ...

  7. python如何将两个list合并成字典_怎么把两个列表合并成字典 论Python怎样将两个list合并为一个字典...

    Python怎样把2个列表合成为一个字典? 怎样把2个列表合成一个字典里了?如果你从一开始就选择低下头的话你就可以一直低着头.可是如果你一开始选择了昂着头的话你就永远不能低头了.荣辱说到底只是一瞬间的 ...

  8. Python将两个列表合并为一个字典

    key和value个数一样 x = [1, 2, 3, 4, 5] y = ['a', 'b', 'c', 'd', 'e'] d = dict(zip(y, x)) print(d)# {'a': ...

  9. python两个字典合并为一个新字典_Python合并2个字典成1个新字典的方法(9种)

    字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器类型,能存储任意个 ...

最新文章

  1. Linux中/proc目录下文件详解
  2. Hadoop源代码分析 - MapReduce(转载)
  3. servlet 和filter 抛出404等异常
  4. python正则表达式指南_Python正则表达式指南
  5. BZOJ2005: [Noi2010]能量采集 莫比乌斯反演的另一种方法——nlogn筛
  6. .NET Core log4net 使用
  7. MyBatis的CRUD操作
  8. python给定起始和结束日期,如何得到中间所有日期
  9. 【零基础学Java】—Collections集合工具类(四十二)
  10. 实现CTF智能合约题目的环境部署
  11. 基础知识之什么是I/O
  12. 【git】小乌龟和git冲突
  13. quartusII实验报告
  14. 小白网卡带宽限速神器:wondershaper
  15. 天玑9000和骁龙888plus哪个好
  16. 如何给视频添加特效字幕?分享一个简单好用的办法
  17. VSCode,插件安装失败,解决方法
  18. docker常用的命令笔记
  19. Python爬虫圈最能打的专栏教程,《Python爬虫120例》教程导航帖(2023.2.6更新)
  20. 1.8 leveldb vs rocksdb 优劣分析 对 write stalling stal 的调优

热门文章

  1. mysql导出数据不锁表_mysqldump锁表出错及解决方法
  2. 基于JAVA+Swing+MYSQL的电影院购票管理系统
  3. 基于JAVA+SpringBoot+Mybatis+MYSQL的送水公司后台管理系统
  4. 基于JAVA+Servlet+JSP+MYSQL的教室资源管理系统
  5. linux malloc速度,性能 – memcpy()的速度受malloc()的不同方式的影响很大
  6. 对象流java_Java中的对象流总结(必看篇)
  7. django系列5.2--ORM数据库的单表操作
  8. Ineedle驱动方式dpdk测试性能
  9. Codeforces Round #186 (Div. 2) Problem D 动态规划
  10. 55 - 算法 -动态规划 -数塔问题 感觉都是数组建模 递推方法规则