python相同key合并value_python 合并字典,相同 key 的 value 如何相加?
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 如何相加?相关推荐
- python字典按照key排序_python中字典按key值排序的实现方法
之前小编介绍了字典本身不可排序,但按值可以,小编也介绍了按value值排序的三种方法.sorted()函数可以对数字或字符串进行排序,按key排序只是输出的key值的排序列表,使用sorted()函数 ...
- python字典遍历value_Python遍历字典去key和value需要注意的点→enumerate和items()
嗯,首先在提到enumerate()这个枚举方法之前,我想到的就是这个可以遍历任何一个元素,可以打印出来key和value,但是我没有想到的是,这个遍历的,仅仅限于遍历打印出索引和元素. 碰到这个问题 ...
- python dict添加key 和value_python迭代dict的key和value的方法
python迭代dict的key和value的方法 迭代dict的key和value 我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value ...
- [python] 字典 pop(key)函数:删除字典中key及其值,并返回该值
功能 删除字典给定键 key 及对应的值,返回值为被删除的值.key 不在字典中,则返回 default 值. 一般会在更新字典的时候用到. 语法 value_deleted = dict_name. ...
- python更新字典key对应的value_python修改字典内key对应值的方法
python学习笔记:字典 python版本:Python 2.6.6 系统环境:CentOS release 6.2 x86_64 本文参考了互联网上前辈的一些文章 一.字典是python中最灵活的 ...
- python的6种基本数据类型--字典
python的6种基本数据类型--字典 字典 字典的定义与特性 字典是Python语言中唯一的映射类型. 定义:{key1:value1,key2:value2} 1.键与值用冒号":&qu ...
- python如何将两个list合并成字典_怎么把两个列表合并成字典 论Python怎样将两个list合并为一个字典...
Python怎样把2个列表合成为一个字典? 怎样把2个列表合成一个字典里了?如果你从一开始就选择低下头的话你就可以一直低着头.可是如果你一开始选择了昂着头的话你就永远不能低头了.荣辱说到底只是一瞬间的 ...
- Python将两个列表合并为一个字典
key和value个数一样 x = [1, 2, 3, 4, 5] y = ['a', 'b', 'c', 'd', 'e'] d = dict(zip(y, x)) print(d)# {'a': ...
- python两个字典合并为一个新字典_Python合并2个字典成1个新字典的方法(9种)
字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器类型,能存储任意个 ...
最新文章
- Linux中/proc目录下文件详解
- Hadoop源代码分析 - MapReduce(转载)
- servlet 和filter 抛出404等异常
- python正则表达式指南_Python正则表达式指南
- BZOJ2005: [Noi2010]能量采集 莫比乌斯反演的另一种方法——nlogn筛
- .NET Core log4net 使用
- MyBatis的CRUD操作
- python给定起始和结束日期,如何得到中间所有日期
- 【零基础学Java】—Collections集合工具类(四十二)
- 实现CTF智能合约题目的环境部署
- 基础知识之什么是I/O
- 【git】小乌龟和git冲突
- quartusII实验报告
- 小白网卡带宽限速神器:wondershaper
- 天玑9000和骁龙888plus哪个好
- 如何给视频添加特效字幕?分享一个简单好用的办法
- VSCode,插件安装失败,解决方法
- docker常用的命令笔记
- Python爬虫圈最能打的专栏教程,《Python爬虫120例》教程导航帖(2023.2.6更新)
- 1.8 leveldb vs rocksdb 优劣分析 对 write stalling stal 的调优
热门文章
- mysql导出数据不锁表_mysqldump锁表出错及解决方法
- 基于JAVA+Swing+MYSQL的电影院购票管理系统
- 基于JAVA+SpringBoot+Mybatis+MYSQL的送水公司后台管理系统
- 基于JAVA+Servlet+JSP+MYSQL的教室资源管理系统
- linux malloc速度,性能 – memcpy()的速度受malloc()的不同方式的影响很大
- 对象流java_Java中的对象流总结(必看篇)
- django系列5.2--ORM数据库的单表操作
- Ineedle驱动方式dpdk测试性能
- Codeforces Round #186 (Div. 2) Problem D 动态规划
- 55 - 算法 -动态规划 -数塔问题 感觉都是数组建模 递推方法规则