python dict 合并
本文介绍了python dict 合并的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
现有 a , b 两个字典,他们都有一个共同的id 1 , 实现dict的合并
和mysql中 select a.id,a.MUT,b.neighbor from a full join b on a.id = b.id
执行结果很类似
a = {
"id": "1",
"MUT": "1500",
}
b = {
"id": "1",
"neighbor": [2]
}
# result = addfunction(a,b)
result = {
"id": "1",
"MUT": "1500",
"neighbor": [2]
}
如何实现?
考虑复杂情况:
a = [
{
"id": "1",
"MUT": "1500",
},
{
"id": "2",
"MUT": "1500",
}
]
b = [
{
"id": "1",
"neighbor": [2]
},
{
"id": "3",
"neighbor": [2]
}
]
# result = addfunction(a,b)
result = [
{
"id": "1",
"MUT": "1500",
"neighbor": [2]
},
{
"id": "2",
"MUT": "1500",
},
{
"id": "3",
"neighbor": [2]
}
]
解决方案
l_a = len(a)
l_b = len(b)
b_map = {}
result = []
for _ in range(l_b):
i = b.pop()
b_map[i['id']] = i
for _ in range(l_a):
i = a.pop()
if i['id'] in b_map:
i.update(b_map.pop(i['id']))
result.append(i)
result.extend(b_map.values())
print(result)
[{'MUT': '1500', 'id': '2'}, {'MUT': '1500', 'id': '1', 'neighbor': [2]}, {'id': '3', 'neighbor': [2]}]
这篇关于python dict 合并的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文