我有点纠结于我遇到的这个特别的问题。我有一个有效的解决方案,但我不认为它是非常Python。在
我有这样一个原始文本输出:Key 1
Value 1
Key 2
Value 2
Key 3
Value 3a
Value 3b
Value 3c
Key 4
Value 4a
Value 4b
我想编一本字典:
^{pr2}$
原始输出可以生成一个字符串,它看起来像这样:my_str = "
Key 1\n\tValue 1
\nKey 2\n\tValue 2
\nKey 3\n\tValue 3a \n\tValue 3b \n\tValue 3c
\nKey 4\n\tValue 4a \n\tValue 4b "
因此值用\n \t分隔,键用\n分隔
如果我尝试这样做:dict(item.split('\n\t') for item in my_str.split('\n'))
它无法正确解析它,因为它也将“n”拆分为\n \t。在
到目前为止,我有这样的东西:#!/usr/bin/env python
str = "Key 1\n\tValue 1\nKey 2\n\tValue 2\nKey 3\n\tValue 3a \n\tValue 3b \n\tValue 3c\nKey 4\n\tValue 4a \n\tValue 4b"
output = str.replace('\n\t', ',').replace('\n',';')
result = {}
for key in output.split(';'):
result[key.split(',')[0]] = key.split(',')[1:]
print result
返回:{'Key 1': ['Value 1'], 'Key 2': ['Value 2'], 'Key 3': ['Value 3a ', 'Value 3b ', 'Value 3c'], 'Key 4': ['Value 4a ', 'Value 4b']}
不过,我觉得这很恶心,我只是想知道有没有Python的方法可以做到这一点。任何帮助都将不胜感激!在