【问题标题】:Merging two dictionaries, common key's value get added [duplicate]合并两个字典,添加公共键的值[重复]
【发布时间】:2021-04-09 22:40:49
【问题描述】:

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

合并字典 - 结果字典必须包含两个字典的所有项目。如果 key 是通用的,那么结果 dict 中 key 的值必须是 a 和 b 中的值之和。

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

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


def dictMerge(a, b):

    #Your code here

【问题讨论】:

  • answer = {}[answer.setdefault(k, []).append(v) for d in (a,b) for k,v in d.items()]
  • b 是无效的dict 密钥'b' 不能出现两次。
  • 键 'b' 可以在两个字典中,但不能在同一个字典中存在两次。正如它目前在您的问题中所显示的那样。

标签: python


【解决方案1】:

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))

【讨论】:

    猜你喜欢
    • 2019-11-11
    • 2020-08-05
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    相关资源
    最近更新 更多