在统计汇总游戏数据的时候,有些数据是是每天用字典存的,当我要对多天汇总的时候,就需要合并字典了。
如果key相同的话它们的值就相加。
不能用update方法,因为用update方法则相同的key的值会覆盖,而不是相加。
千言不如一码。
def union_dict(*objs):_keys = set(sum([obj.keys() for obj in objs],[]))_total = {}for _key in _keys:_total[_key] = sum([obj.get(_key,0) for obj in objs])return _totalobj1 = {'a':1,'b':2,'c':3}
obj2 = {'a':1,'b':3,'d':4}
print union_dict(obj1,obj2)
输出
{'a': 2, 'c': 3, 'b': 5, 'd': 4}
sum([obj.keys() for obj in objs],[])这句可能不太好理解。
其实sum()函数也有" 鲜为人知的参数",即第2个参数,start参数,默认是0。
而且不止可以是int类型,还可以是其他支持+操作符的东西,比如[]。
利用这一点,可以对二层数组打平成一层。
比如
>>sum([[1,2,3],[4,5]],[])
[1,2,3,4,5]

转载于:https://www.cnblogs.com/bbsno1/p/3265374.html

飘逸的python - 字典合并值相加相关推荐

  1. python字典值求和_飘逸的python - 字典合并值相加

    在统计汇总游戏数据的时候,有些数据是是每天用字典存的,当我要对多天汇总的时候,就需要合并字典了. 如果key相同的话它们的值就相加. 不能用update方法,因为用update方法则相同的key的值会 ...

  2. python数据框计算值相加变合并,解决方法。

    一天天的,python的报错都让我给遇见个遍,天天填坑! 1.问题 python数据框计算值相加变合并,找了半天的原因,发现DataFrame里面存放的是字符串类型,字符串的相加只能是首尾串在一起,不 ...

  3. pythondict增加-python字典键值对的添加和遍历方法

    添加键值对 首先定义一个空字典 >>> dic={} 直接对字典中不存在的key进行赋值来添加 >>> dic["name"]="zh ...

  4. python字典键值对转化为相应的变量名和变量值

    将python字典键值对转化为相应的变量名和变量值可以使用以下方法: globals().update({"name":"value"}) locals().u ...

  5. python字典按键值排序_在Python中按键或值按升序和降序对字典排序

    python字典按键值排序 Problem Statement: Write a Python program to sort (ascending and descending) a diction ...

  6. python字典按值(Values)排序的方法

    python字典按照值的大小来排序的方法 def set_rank(a_dict):a_sort_list = sorted(a_dict.items(),key=lambda x : x[1], r ...

  7. python 字典 通过值返回键_怎么使用python字典根据值返回键

    怎么使用python字典根据值返回键 发布时间:2020-07-13 13:47:36 来源:亿速云 阅读:75 作者:Leah 本篇文章给大家分享的是有关怎么使用python字典根据值返回键,小编觉 ...

  8. python字典合并_Python中如何实现两个字典合并

    更多 Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个问题,比较直观的想法是将两个字典做相加操作,赋值给结果字典,其代码为: ...

  9. python 字典的值是列表_python实现求和python如何通过列表中字典的值对列表进行排序...

    一. 按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} 1. sorted_x = sorted(x.iteritems(), key=operator.item ...

最新文章

  1. [c、c++]宏中#和##的用法(zz)
  2. http请求中的Content-Type,详解
  3. LeetCode 2149. 按符号重排数组(双指针)
  4. 栈的顺序存储及实现(一)
  5. 如何测试服务器上数据库服务器能否连接上
  6. adb如何使用javac编译java程序并且运行
  7. java基础总结03-进制
  8. matlab实现布尔真值表的排列,MATLAB在数字电路仿真中的应用
  9. 索泰显卡超频软件测试要多少时间,索泰显卡超频软件(FireStorm)
  10. 什么是免备案虚拟主机?阿里云国际版云服务器给你答案
  11. Java将汉字数字日期转换为数字日期(例如: 二〇二〇年十一月二十一日 → 2020年11月21日)
  12. JavaScript navigator对象
  13. 智能名片为什么使用场景都是微信小程序?哪些新玩法值得一试?
  14. java程序员创业需要_java程序员出路有哪些
  15. java 微分方程求解_解微分方程
  16. Fragment already added问题的解决
  17. 2020牛客暑期多校训练营Decrement on the Tree(图论,set)
  18. [C++]H106OJ-第二周练习总结
  19. \n和endl的区别
  20. chinese-ocr-lite(pytorch) 转 caffe

热门文章

  1. Python文档阅读笔记-OpenCV中Template Matching
  2. error: undefined reference to `_imp__glXXX@XX'
  3. Qt学习笔记-Qt Graphic View Framework
  4. 用t430搭建虚拟服务器教程,T430完美使用VmWare
  5. linux 网络块存储,网络存储集群
  6. 图片格式转换大小调整工具_如何轻松快速地将图片转换到JPG/JPEG/PNG/BMP/TIFF
  7. ai合成迪丽热巴下海_丽热巴被富家哥求婚,男方坚持示爱九个月,当众下跪赠女方豪车...
  8. 纳米颗粒C语言数值模拟_J.Hazard. Mater.当“金属纳米酶”邂逅“重金属离子”:机遇与挑战...
  9. 内部服务器如何提供访问服务
  10. 怎样重建一个损坏的调用堆栈(callstack)