gpt4 book ai didi

python - 合并具有相同键的两个字典

转载 作者:太空宇宙 更新时间:2023-11-03 14:47:49 25 4
gpt4 key购买 nike

我有以下 2 个词典要合并。我想合并相同的键,我想保留两个字典的值。我使用了 dict1.update(dict2) 但它替换了第 2 到第 1 个字典中的值。

u'dict1', {160: {u'na': u'na'}, 162: {u'test_': u'qq', u'wds': u'wew'}, 163: {u'test_env': u'test_env_value', u'env': u'e'}, 159: {u'no' : u'test_no'}

u'dict2', {160: {u'naa': u'na'}, 162: {u'envi_specs': u'qq', u'wds': u'wew'}, 163: {u'test_env': u'test_env_value', u'ens': u's'}}

我得到了什么?

{160: {u'naa': u'na'}, 162: {u'envi_specs': u'qq', u'wds': u'wew'}, 163: {u'test_env': u'test_env_value', u'ens': u's'}}

我需要什么

{160: {u'naa': u'na', u'na': u'na'}, 162: {u'envi_specs': u'qq', u'wds': u'wew', u'test_': u'qq'}, 163: {u'test_env': u'test_env_value', u'ens': u's', u'env': u'e'}}

我关注了merging "several" python dictionaries但我有两个不同的词典需要合并。请帮助...

最佳答案

遍历dict1中的key,从dict2中获取相应的值,并更新-

for k in dict1:
dict1[k].update(dict2.get(k, {})) # dict1.get(k).update(dict2.get(k, {}))

print(dict1)    
{
"160": {
"naa": "na",
"na": "na"
},
"162": {
"wds": "wew",
"test_": "qq",
"envi_specs": "qq"
},
"163": {
"test_env": "test_env_value",
"ens": "s",
"env": "e"
},
"159": {
"no": "test_no"
}
}

在这里,我使用 dict.get,因为它允许您指定在 k 中不存在时返回的默认值作为 中的键>dict2。在这种情况下,默认值是空字典 {},调用 dict.update({}) 什么都不做(也不会导致任何问题)。

关于python - 合并具有相同键的两个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48077115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com