create a dict of lists from a string
Posted
by
Chris Card
on Stack Overflow
See other posts from Stack Overflow
or by Chris Card
Published on 2011-03-01T13:54:46Z
Indexed on
2011/03/01
15:24 UTC
Read the original article
Hit count: 259
I want to convert a string such as 'a=b,a=c,a=d,b=e' into a dict of 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 unnecessarily complicated.
Any better solutions?
© Stack Overflow or respective owner