亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

python dict 合并

瀏覽:93日期:2022-06-28 13:55:05

問題描述

現(xiàn)有 a , b 兩個(gè)字典,他們都有一個(gè)共同的id 1 , 實(shí)現(xiàn)dict的合并和mysql中 select a.id,a.MUT,b.neighbor from a full join b on a.id = b.id執(zhí)行結(jié)果很類似

a = {'id': '1','MUT': '1500', } b = {'id': '1','neighbor': [2] } # result = addfunction(a,b) result = {'id': '1','MUT': '1500','neighbor': [2] }

如何實(shí)現(xiàn)?

考慮復(fù)雜情況:

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] }]

問題解答

回答1:

l_a = len(a)l_b = len(b)b_map = {}result = []for _ in range(l_b): i = b.pop() b_map[i[’id’]] = ifor _ 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]}]回答2:

from collections import defaultdictdef combineListDict(l1,l2,joinKeys = ['id']): d = defaultdict(dict) for l in (l1, l2):for elem in l: if len(joinKeys) == 1:joinKeysStr = elem[joinKeys[0]] else:joinKeysStr = reduce((lambda x, y: str(elem[x]) + str(elem[y])),joinKeys) d[joinKeysStr].update(elem) return d.values()

因?yàn)閖oin on 條件可能時(shí)多個(gè)值,我在stack上找了個(gè)代碼改了一下。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产老妇一性一交一乱 | 欧美精品v国产精品v日韩精品 | 久久成人国产精品 | 男女叼嘿视频大全免费看 | 久青草国产观看在线视频 | 久久不卡免费视频 | 91专区在线观看 | 成人国产网站v片免费观看 成人国产视频在线观看 | 亚洲精品啪啪一区二区三区 | 国产中出| 亚洲一逼 | 亚洲九九香蕉 | 亚洲国产一区二区三区 | 日本黄色免费看 | 国产女同磨豆腐视频在线观看 | 成年人免费黄色片 | 91精品国产免费久久久久久青草 | 国产xvideoscom| 婷婷综合亚洲 | a级免费 | 亚洲欧美久久精品1区2区 | 国产在线视频资源 | 欧美亚洲综合在线观看 | 亚洲精品片 | 玖玖爱zh综合伊人久久 | 免费人成年短视频在线观看免费网站 | 日本福利片 | 久久久2019精品 | 国产毛片精品 | 最近中文字幕免费完整 | 青青自拍 | 久草新在线 | 美女综合网 | 视频一区在线免费观看 | 91麻豆传传媒波多野衣久久看 | 91av综合 | 欧美a级在线 | 男女无遮挡边做边吃视频免费 | 日韩不卡一级毛片免费 | 日韩免费在线 | 成 人 黄 色视频免费播放 |