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