I have a string in the form of:
s = 'A - 13, B - 14, C - 29, M - 99'
and so on (the length varies). What is the easiest way to create a dictionary from this?
A: 13, B: 14, C: 29 ...
I know I can split but I can't get the right syntax on how to do it. If I split on -
, then how do I join the two parts?
Iterating over this seems to much of a pain.
To solve your example you can do this:
mydict = dict((k.strip(), v.strip()) for k,v in
(item.split('-') for item in s.split(',')))
It does 3 things:
"<key> - <value>"
parts: s.split(',')
"<key> ", " <value>"
pairs: item.split('-')
(k.strip(), v.strip())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With