多个字典合并的操作
不同key
x = {"id": 1}
y = {"name": "jack"}
{**x,**y}
{'id': 1, 'name': 'jack'}
相同key
两个字典合并
相同key会出现覆盖的情况
x = {"id": 1}
y = {"name": "jack","id":2}
{**x,**y}
{'id': 2, 'name': 'jack'}
如果value是list格式,可把同个key的value进行合并,或者做其他操作
x = {"id": [1]}
y = {"name": ["jack"],"id":[2]}
{key: x.get(key, []) + y.get(key, []) for key in x.keys() | y.keys()}
{'id': [1, 2], 'name': ['jack']}
多个字典合并
from functools import reduce
x = {"id": [1],"name": ["leo"]}
y = {"name": ["jack"],"id":[2]}
z = {"name": ["mike"],"id":[3]}
reduce(lambda x, y:{key:x.get(key,[])+y.get(key,[]) for key in x.keys()|y.keys()} ,[x,y,z])
{'id': [1, 2, 3], 'name': ['leo', 'jack', 'mike']}
2022-04-02 于南京市江宁区九龙湖