Форум сайта python.su
Есть данные в формате:
print data
отдает
key1=value1
key2=value2
{'key1': 'value1', 'key2': 'value2'}
Отредактировано (Дек. 23, 2011 16:21:37)
Офлайн
a = data[0]
b = dict(map(lambda x: x.split('='), a.split()))
print b
Офлайн
s0rgСпасибо.a = data[0]
b = dict(map(lambda x: x.split('='), a.split()))
print b
b = dict(map(lambda x: x.split('='), a.split()))
ValueError: dictionary update sequence element #0 has length 4; 2 is required
Офлайн
dict(map(lambda x: x.split('=', 1), a.split()))
Офлайн
s0rgДа, так отработало.dict(map(lambda x: x.split('=', 1), a.split()))
{'key1': 'value1'}
{'key2': 'value2'}
{'key1': 'value1', 'key2': 'value2'}
{'key1': 'value1'}
Офлайн
[{c[0]: c[1]} for c in map(lambda x: x.split('=', 1), a.split())]
Офлайн
s0rgНе уверен, что правильно понял, но:[{c[0]: c[1]} for c in map(lambda x: x.split('=', 1), a.split())]
a = data[0]
b = [{c[0]: c[1]} for c in map(lambda x: x.split('=', 1), a.split())]
print b
[{'key1': 'value1'}]
[{'key2': 'value2'}]
Офлайн
странно:
In [18]: a
Out[18]: 'key1=value1\nkey2=value2'
In [19]: [{c[0]: c[1]} for c in map(lambda x: x.split('=', 1), a.split())]
Out[19]: [{'key1': 'value1'}, {'key2': 'value2'}]
Офлайн
dict(c.split('=',1) for c in a.split())
Офлайн
s0rgНу здесь вроде тоже вывод разделен фигурными скобками. У меня вместо запятых между скобками выводит перенос строки… (Python 2.6.6, linux.) А требуется:
странно:In [18]: a
Out[18]: 'key1=value1\nkey2=value2'
In [19]: [{c[0]: c[1]} for c in map(lambda x: x.split('=', 1), a.split())]
Out[19]: [{'key1': 'value1'}, {'key2': 'value2'}]
{'key1': 'value1', 'key2': 'value2'}
Отредактировано (Дек. 24, 2011 00:24:24)
Офлайн