添加或合并python词典而不会丢失
发布时间:2020-12-20 12:39:38 所属栏目:Python 来源:网络整理
导读:我正在尝试计算在两台服务器上的日志文件中找到的IP地址,然后将字典统计数据合并在一起,而不会丢失元素或计数.我在另一个堆栈溢出问题中找到了部分解决方案,但是你可以看到它丢弃了’10 .10.0.1’:7对. a = {'192.168.1.21':23,'127.0.0.1':5,'12.12.12.12'
我正在尝试计算在两台服务器上的日志文件中找到的IP地址,然后将字典统计数据合并在一起,而不会丢失元素或计数.我在另一个堆栈溢出问题中找到了部分解决方案,但是你可以看到它丢弃了’10 .10.0.1’:7对.
>>> a = {'192.168.1.21':23,'127.0.0.1':5,'12.12.12.12':5,'55.55.55.55':10} >>> b = {'192.168.1.21':27,'10.10.0.1':7,'127.0.0.1':1} >>> c = {} >>> for elem in a: ... c[elem] = b.get(elem,0) + a[elem] ... >>> print c {'55.55.55.55': 10,'12.12.12.12': 5,'127.0.0.1': 6,'192.168.1.21': 50} 计数正在加在一起,但如果密钥在dict中不存在,则会被删除.我无法搞清楚逻辑的最后一点……也许是b中elem的另一个:如果a.get(elem,0)存在:pass else将它添加到c? 解决方法
在你的代码中用c = b.copy()替换c = {}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |