help with creating dict from string

Tim jtim.arnold at gmail.com
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,
--Tim






More information about the Python-list mailing list