sha*_*iya 4 python merge dictionary list
如何将值为列表的字典合并到Python中,以便将所有键移动到一个字典中,并将每个列表的所有元素移动到每个键的单个列表中?
例如,使用这些词典:
x = {'a': [2], 'b': [2]}
y = {'b': [11], 'c': [11]}
Run Code Online (Sandbox Code Playgroud)
......合并的结果应该是这样的:
{'a': [2], 'b': [2, 11], 'c': [11]}
Run Code Online (Sandbox Code Playgroud)
怎么可以用任意数量的词典来完成,而不仅仅是两个?
您可以使用以下方法,它使用sets和dict comprehension
x = {'a': [2], 'b': [2]}
y = {'b': [11], 'c': [11]}
all_keys = set(x) | set(y)
print {k:x.get(k, [])+y.get(k, []) for k in all_keys}
Run Code Online (Sandbox Code Playgroud)
结果:
{'a': [2], 'c': [11], 'b': [2, 11]}
Run Code Online (Sandbox Code Playgroud)