我有一个奇怪的字符串(单行),其中第一个字段是键,第二个字段是值。看起来是这样的:
key1\val1\key2\val2\key3\val3\...\keyn\valn将这种符号转换为python字典的最佳方法是什么?
发布于 2018-09-23 11:15:39
简单的回答。
a = "key1\\val1\\key2\\val2\\key3\\val3"
b = a.split('\\')
dc = {}
for i in range(0,len(b), 2):
dc[b[i]]=b[i+1]发布于 2018-09-23 11:08:25
只需使用临时列表将字符串拆分为:
s = 'key1\\val1\\key2\\val2\\key3\\val3'
temp = s.split('\\')
d = {k: v for k, v in zip(temp[0::2], temp[1::2])}发布于 2018-09-23 11:05:04
以下是我想出的:
import re
string = 'key1\\val1\\key2\\val2\\key3\\val3'
dictionary = {match.group(1): match.group(2) for match in re.finditer(r'(\w+)\\(\w+)', string)}
print dictionary但是,请注意,如果键值仅为字符(没有空格或下划线或类似的东西),则只能使用。为了适应这种不同的情况,您必须修改我在上面的代码中使用的简单正则表达式。
https://stackoverflow.com/questions/52465449
复制相似问题