Python 合并两个字典,公共键';增值

Python 合并两个字典,公共键';增值,python,Python,这是我技术测试中的一个问题。解决这个问题的最佳方法是什么: 合并字典-结果dict必须包含两个dict的所有项。如果key是公共的,那么结果dict中key的值必须是a和b中的值之和。 dict b无效,因为有些已将指针指向外部。可以使用外观添加值: a = {'x': 1, 'y': 2, 'z': 3, 'b': 6} b = {'a': 4, 'b': 5} def dict_merge(a, b): result = a.copy() for key, value

这是我技术测试中的一个问题。解决这个问题的最佳方法是什么:

合并字典-结果dict必须包含两个dict的所有项。如果key是公共的,那么结果dict中key的值必须是a和b中的值之和。
dict b无效,因为有些已将指针指向外部。可以使用外观添加值:

a = {'x': 1, 'y': 2, 'z': 3, 'b': 6}

b = {'a': 4, 'b': 5}


def dict_merge(a, b):
    result = a.copy()
    for key, value in b.items():
        result[key] = result.get(key, 0) + value
    return result

print(dict_merge(a, b))

answer={}
[answer.setdefault(k,[]).append(v)for d in(a,b)for k,v in d.items()
b
是无效的
dict
'b'
不能在两个字典中。键“b”可以在两个字典中,但不能在同一个字典中存在两次。正如您当前的问题所示。
a = {'x': 1, 'y': 2, 'z': 3, 'b': 6}

b = {'a': 4, 'b': 5}


def dict_merge(a, b):
    result = a.copy()
    for key, value in b.items():
        result[key] = result.get(key, 0) + value
    return result

print(dict_merge(a, b))