相关文章推荐
神勇威武的馒头  ·  Unsafe code - C# ...·  3 月前    · 
温柔的野马  ·  XMLHttpRequest.withCre ...·  7 月前    · 
文章介绍了如何在Python中合并多个字典,特别是当有指定keys需要合并时。通过merge_dict函数,可以将特定keys的值合并到一个新字典中,同时处理了键值相同的场景。示例中展示了如何使用该函数合并model_1和model_2的参数到model_kwargs。 摘要由CSDN通过智能技术生成

待合并的多个dict
model_1
model_2
其中指定合并的keys包括:

merge_keys = {‘xyz_min’, ‘xyz_max’, ‘mask_cache_path’, ‘mask_cache_world_size’}

也可合并多个dict中所有相同的keys:

not_common_keys = dict1.keys() ^ dict2.keys()
common_keys = dict1.keys() & dict2.keys()

dict合并函数

def merge_dict(source_dict, save_dict, merge_keys):
    for key in source_dict.keys():
        if key not in merge_keys:
            save_dict[key] = source_dict[key]
        else:
            save_dict.setdefault(key, []).append(source_dict[key])

多个dict依次保存到新的dict中

model_kwargs = {}
merge_dict(model_1, model_kwargs, merge_keys)
merge_dict(model_2, model_kwargs, merge_keys)

得到的model_kwargs为:
model_kwargs

Reference:
python 字典update()函数-----如果多个字典key值相同如何合并?

python dict 源码解读python dict的基本介绍dict的核心三个数据结构解读dict的底层几个C API python dict的基本介绍 dict的核心三个数据结构 解读dict的底层几个C API
python相关学习资料:https://edu.51cto.com/video/3832.htmlhttps://edu.51cto.com/video/3502.htmlhttps://edu.51cto.com/video/4102.htmlPython合并列表key相同字典 作为一名经验丰富的开发者,我很...
dict={(ke11,key12):value ,(key21,key22):value ...} 在实际访问字典里的值时的具体形式如下所示(以第一个键为例): dict[key11,key12] dict[(key11,key12)] 以下是实际例子: 在一个键值对应多个值时,格式: dict={key1:(value1,value2 ..), key2:(