python - 将 2 个嵌套的字典值组合成一个 Python

标签 python python-3.x python-2.7

我有以下 2 个字典,我想结合更新 dict1dict2 的值,如下所示。如果不存在则添加新键,并更新值。

字典1

{'https://site1.com': 
{'React': None, 'Drupal': '5.1','python':None}}

字典2

{'https://site1.com':
{'React': '6.0', 'Drupal': '5.3','PHP':'7'},
'https://site2.com':{'Rails':'6.1'}}

到以下输出:

最终字典

{'https://site1.com': 
{'React': '6.0', 'Drupal': '5.3','PHP':'7','python':None},
'https://site2.com':{'Rails':'6.1'}}

最佳答案

您可以遍历 dict2 的项目并使用相同键的值更新 dict1。使用 dict.setdefault 方法用字典初始化新键:

for k, v in dict2.items():
    dict1.setdefault(k, {}).update(v)

根据您的示例输入,dict1 将变为:

{'https://site1.com': {'React': '6.0', 'Drupal': '5.3', 'python': None, 'PHP': '7'}, 'https://site2.com': {'Rails': '6.1'}}

关于python - 将 2 个嵌套的字典值组合成一个 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55428127/

相关文章:

python - key 错误 : "Unable to open object (object ' imgs' doesn't exist)"

python-2.7 - celery , flask sqlalchemy : DatabaseError: (DatabaseError) SSL error: decryption failed or bad record mac

python - 使用 json.loads()/Python 时忽略引号中的逗号?

python - 在 Tkinter 中制作点击事件

python - 制作反向五星级评级计算器的最佳方法

python - geojsonio 中的 display() 给出 401 错误

python - 我的 Flask 应用程序中出现 RuntimeError : Working outside of application context.

python 字符串列表列出 ast.listeral_eval

python - 如何将 utf-8 字符从 python 保存到 mySQL

python - 正则表达式 Python [python-2.7]