Help with parsing a list

thunderfoot at gmail.com thunderfoot at gmail.com
Wed Dec 16 18:23:41 EST 2009


not as slick as Emile's (didn't think about using strip() ), but
seemingly functional:


data = ['key1: data1','key2: data2','key3: data3',' key4: ','
\tdata4.1',' \tdata4.2',' \tdata4.3','key5: data5']
result = {}

for item in data:
    if item.endswith(': '):
        currkey = item[:-2]
        result[currkey] = []
    elif item.startswith(' \t'):
        result[currkey].append(item[2:])
    else:
        key, val = item.split(': ')
        result[key] = val

print 'data = %s' % data
print 'result = %s' % result

>>>
data = ['key1: data1', 'key2: data2', 'key3: data3', ' key4: ', '
\tdata4.1', ' \tdata4.2', ' \tdata4.3', 'key5: data5']
result = {'key3': 'data3', 'key2': 'data2', 'key1': 'data1', 'key5':
'data5', ' key4': ['data4.1', 'data4.2', 'data4.3']}
>>>



More information about the Python-list mailing list