how would you do this for a specific key instead of all the keys?

greg whittier wrote:
On Thu, Mar 12, 2009 at 4:24 PM, ski <nor...@khine.net> wrote:
Hello,
I have this issue, which I am unsure on how to solve.

mylist1 = {'a': 'x123', 'b':'12'}
mylist2 = {'a': 'x234', 'c': 'a23'}
for k in mylist2:
...     if k in mylist1:
...             mylist1[k] = [mylist1[k], mylist2[k]]
...     else:
...             mylist1[k] = mylist2[k]
...
mylist1
{'a': ['x123', 'x234'], 'c': 'a23', 'b': '12'}
this merges the two dictionaries, but what should be the method if:

mylist = [{'a': 'x123', 'b':'12'}, {'a': 'x234', 'b': 'd33', 'c':
'a23'}, {'a': 'x234', 'c': 'XX123'} .... ]
where mylist has nth number of dictionaries and i want to merge the values
of the keys that are the same?

Thanks

Norman

If I understand what you mean by merging, I  think you want

mylist = [{'a': 'x123', 'b':'12'}, {'a': 'x234', 'b': 'd33', 'c':
'a23'}, {'a': 'x234', 'c': 'XX123'} .... ]
merged_dict = {}
for dictionary in mylist:
    for key, value in dictionary.items():
        merged_dict.setdefault(key,[]).append(value)
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to