[Tutor] idiomatic way of merging two dictionaries
Alan Gauld
alan.gauld at btinternet.com
Wed Nov 4 09:41:38 CET 2009
"Amit Sethi" <amit.pureenergy at gmail.com> wrote
> Hi , I am trying to merge(I am not sure if that is the right term)
> dictionaries like this
>
> dict1 ={'a':4,'b':3,'v':7,'h':4}
> dict2={'a':5,'v':4,'k':3}
> dict3 would be {'a':[4,5],'b':[3,4],'v':[7,4],'k':[0,3],'h':[4,0]}
I don't know how "idiomatic" it is but I'd probably just go for a for loop
dict3 = {}
for key in set(dict1.keys()+dict2.keys()): # get the unique keys
dict3[key] = [dict1.get(key,0),dict2.get(key,0)]
I suspect that in Python 3 you could use the new dict notation
to do it slightly more neatly.
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list