作者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
1F:推 darkgerm:main_dict[key] += dictA.get(key, [0]) 09/07 18:39
2F:→ ntasop:因为dict value list长度不同,有方式能补上正确0的数目? 09/07 23:20
3F:推 ccwang002:key 没有顺序喔,可以改用 collections.OrderedDict 09/08 01:24
4F:→ ccwang002:抱歉我搞错了 @@ 09/08 01:28
5F:推 carlcarl:dictA.get(key, len(dictA.values()[0]) * [0]) 09/08 02:49
6F:→ ntasop:感谢大家帮忙 09/08 17:26