Python两个字典键同值相加的几种方法

  • Post category:Python

针对Python中两个字典键同值相加的问题,我来详细讲解一下。

什么是Python字典?

Python中的字典是一种可变容器模型,可以存储任意类型的对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

# 举例
my_dict = {"name": "张三", "age": 18, "address": "北京市海淀区"}

如何进行字典键同值相加?

Python中两个字典键同值相加,可以按照以下几种方法:

方法1:for循环遍历

可以使用for循环遍历两个字典,对相同的key进行取值相加或者相减(减法同理)。具体实现代码如下:

dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = {'a': 2, 'b': 3, 'c': 4}

for key in dict1:
    if key in dict2:
        dict2[key] += dict1[key]
    else:
        dict2[key] = dict1[key]

print(dict2) # {'a': 3, 'b': 5, 'c': 7}

方法2:使用collection库中的Counter方法

可以使用collection库中的Counter方法,将两个字典转化为Counter对象,然后进行相加操作。具体实现代码如下:

from collections import Counter

dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = {'a': 2, 'b': 3, 'c': 4}

result = Counter(dict1) + Counter(dict2)

print(result) # Counter({'c': 7, 'b': 5, 'a': 3})

总结

以上是Python中两个字典键同值相加的几种方法,其中for循环和Counter方法都比较简单易懂,可以根据实际需求选择适合自己的方法。