Python中两个字典键相同值相加是一个常见的操作,有几种方法可以实现。
使用for循环可以遍历两个字典,如果键相同,就将值相加,并将结果存储到新的字典中。代码示例如下:
d1 = {'a': 1, 'b': 2, 'c': 3} d2 = {'a': 4, 'b': 5, 'd': 6} d3 = {} for k, v in d1.items(): if k in d2: d3[k] = v + d2[k] else: d3[k] = v for k, v in d2.items(): if k not in d1: d3[k] = v print(d3) # {'a': 5, 'b': 7, 'c': 3, 'd': 6}
使用字典解析可以更加简洁的实现两个字典键相同值相加的操作,代码示例如下:
d1 = {'a': 1, 'b': 2, 'c': 3} d2 = {'a': 4, 'b': 5, 'd': 6} d3 = {k: v + d2[k] for k, v in d1.items() if k in d2} print(d3) # {'a': 5, 'b': 7}
使用collections.Counter可以更加简便的实现两个字典键相同值相加的操作,代码示例如下:
from collections import Counter d1 = {'a': 1, 'b': 2, 'c': 3} d2 = {'a': 4, 'b': 5, 'd': 6} d3 = Counter(d1) + Counter(d2) print(d3) # Counter({'a': 5, 'b': 7, 'd': 6, 'c': 3})
使用zip()函数可以更加简洁的实现两个字典键相同值相加的操作,代码示例如下:
d1 = {'a': 1, 'b': 2, 'c': 3} d2 = {'a': 4, 'b': 5, 'd': 6} d3 = {k: v + d2[k] for k, v in zip(d1, d2) if k in d2} print(d3) # {'a': 5, 'b': 7}
:以上就是Python中两个字典键相同值相加的几种方法,使用for循环可以遍历两个字典,如果键相同,就将值相加,并将结果存储到新的字典中;使用字典解析可以更加简洁的实现两个字典键相同值相加的操作;使用collections.Counter可以更加简便的实现两个字典键相同值相加的操作;使用zip()函数可以更加简洁的实现两个字典键相同值相加的操作。
本文链接:http://task.lmcjl.com/news/9165.html