看板 Python 關於我們 聯絡資訊
假如有多個dict如下列,且dict value是 list,list長度每個dict 都不同,要以mian dict的key為主,merge所有 dict,其他dict若沒 main dict key,而該dict key值填0. main dict = {a:[1], b:[2], c:[3], d:[4], ....} dictA = {b:[2,2], c:[3,3] ,...} dictB = {a:[1], c:[3] ,....} 最後merge結果為 dict = {a:[1,0,0,1], b:[2,2,2,0], c:[3,3,3,3], d:[4,0,0,0], ........} 請問除了for key in main dict.keys():然後用try..exceptc或if dict.get方 式比對每個dict外,有其他方式能不用這個方法?非常感謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.182.224.42
darkgerm:main_dict[key] += dictA.get(key, [0]) 09/07 18:39
ntasop:因為dict value list長度不同,有方式能補上正確0的數目? 09/07 23:20
ccwang002:key 沒有順序喔,可以改用 collections.OrderedDict 09/08 01:24
ccwang002:抱歉我搞錯了 @@ 09/08 01:28
carlcarl:dictA.get(key, len(dictA.values()[0]) * [0]) 09/08 02:49
ntasop:感謝大家幫忙 09/08 17:26