help with creating dict from string

Tim jtim.arnold at
Thu Nov 6 17:37:00 CET 2014

hi, I have strings coming in with this format:

    '[one=two, three=four five, six, seven=eight]'

and I want to create from that string, this dictionary:
    {'one':'two', 'three':'four five', 'six':True, 'seven':'eight'}

These are option strings, with each key-value pair separated by commas.
Where there is a value, the key-value pair is separated by '='.

This is how I started (where s is the string):
    s = s.replace('[','').replace(']','')
    s = [x.split('=') for x in s.split(',')]

    [['one', 'two'], [' three', 'four five'], [' six'], [' seven', 'eight']]

I know I can iterate and strip each item, fixing single-element keys as I go.

I just wondered if I'm missing something more elegant. If it wasn't for the leading spaces and the boolean key, the dict() constructor would have been sweet.

thanks for any ideas,

More information about the Python-list mailing list