作者ntasop (kuli)
看板Python
標題[問題] 多個dict merge問題
時間Sat Sep 7 18:18:05 2013
假如有多個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