我正在尝试计算两个服务器的日志文件中发现的IP地址,并将字典统计数据合并在一起,同时不会丢失元素或计数。我在另一个stackoverflow问题中找到了部分解决方案,但正如您所看到的,它删除了'10.10.0.1:7'对。
计数正在相加,但如果字典a中不存在该键,则会被丢弃。我在解决最后一部分逻辑时遇到了麻烦...也许可以再添加一个for elem in b: 如果a.get(elem, 0)存在:则跳过,否则将其添加到c中?
>>> 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}
计数正在相加,但如果字典a中不存在该键,则会被丢弃。我在解决最后一部分逻辑时遇到了麻烦...也许可以再添加一个for elem in b: 如果a.get(elem, 0)存在:则跳过,否则将其添加到c中?