所有你需要做的是修改
append,以
extend将然后添加列表中的元素,而不是添加列表本身。有关和之间的区别的更多详细信息,请参见
list文档。
append``extend
dict1 = {'key1':['value11','value12','value13'] , 'key2':['value21','value22','value23']}dict2 = {'key1':['value14','value15'] , 'key2':['value24','value25']}dict3 = {}for key in set().union(dict1, dict2): if key in dict1: dict3.setdefault(key, []).extend(dict1[key]) if key in dict2: dict3.setdefault(key, []).extend(dict2[key])print(dict3)# {'key2': ['value21', 'value22', 'value23', 'value24', 'value25'], 'key1': ['value11', 'value12', 'value13', 'value14', 'value15']}另外,您可以使用
collections.defaultdict默认设置为的a
list,如下所示。
from collections import defaultdictdict3 = defaultdict(list)for key in set().union(dict1, dict2): for dic in [dict1, dict2]: if key in dic: dict3[key] += dic[key]



