I want to convert a string such as' a = b, a = c, a = d, b = e 'to dict lists {' a ': [' b ',' c ',' d '],' b ': [' e ']} in Python 2.6.
My current solution is this:
def merge(d1, d2): for k, v in d2.items(): if k in d1: if type(d1[k]) != type(list()): d1[k] = list(d1[k]) d1[k].append(v) else: d1[k] = list(v) return d1 record = 'a=b,a=c,a=d,b=e' print reduce(merge, map(dict,[[x.split('=')] for x in record.split(',')]))
which I'm sure is overly complicated.
Any better solutions?
source share