午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

python dict 合并

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

問題描述

現(xiàn)有 a , b 兩個字典,他們都有一個共同的id 1 , 實現(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] }

如何實現(xiàn)?

考慮復雜情況:

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()

因為join on 條件可能時多個值,我在stack上找了個代碼改了一下。

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 午夜成人在线视频 | 粉嫩av一区二区三区四区五区 | 中文字幕免费视频 | 色婷婷色| 成人免费毛片嘿嘿连载视频 | 一级aaa毛片 | 国产一区二区成人 | 久久成人激情 | 日本极品少妇 | 夜夜天天操| 伊人精品在线视频 | 影音先锋久久 | www深夜成人a√在线 | 国产极品视频在线观看 | 日韩三级在线观看视频 | 三级三级久久三级久久18 | 美女久久视频 | 亚洲国产成人在线观看 | 日本黄色成人 | 久久99操| 96精品国产 | 林心如三级全黄裸体 | av每日更新 | 天堂久久久久久 | 亚洲欧洲国产综合 | 91免费看黄 | 中文视频在线观看 | 一本av在线 | 色av中文字幕 | 四虎91| 每日更新在线观看av | 亚洲国产第一页 | 伊人网在线观看 | 九一精品视频 | 日本韩国欧美中文字幕 | 高跟鞋肉丝交足91 | 一道本在线播放 | 欧美一级一级 | 免费成人观看 | 久久91久久 | 伊人天堂在线 |