在Python中解析Unicode字符串为字典

4

我相信这是非常简单的,也是stackoverflow上其他问题的结合,但我找不到正确的答案。

我有一个Unicode字符串:u"word1 word2 word3..." 它总是以相同的格式出现。我想将其解析为一个字典,该字典将始终具有相同的键:

"key1:word1 key2:word2 key3:word3..."

我该如何做到这一点?

1个回答

2

试试这个:

keys = ['key1', 'key2', 'key3']
words = u'word1 word2 word3'
vals = words.split()

d = dict(zip(keys, vals))

如果你想从类似于你示例中的字符串中检索键/值对:

' '.join(sorted(k + ':' + v for k,v in d.items()))

好的,那个完美地运行了。愚蠢的后续问题是:如果我有两个分割后想要合并的值——如果我想让word3和word4真正成为由空格分隔的单个单词——我该怎么做? - fox
1
你可以使用不同的分隔符,比如逗号“,”,然后使用该分隔符进行拆分。 - Óscar López
我在这里找到了答案:https://dev59.com/9XM_5IYBdhLWcg3w-4dg,但让我把它变得更加复杂:如果我想让第三个和第四个单词之间保留一个空格呢? - fox
1
明白了:x[2:4] = [''.join(x[2]+ " " + x[3])] - fox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接