首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将具有交替键值对的字符串转换为字典

将具有交替键值对的字符串转换为字典
EN

Stack Overflow用户
提问于 2018-09-23 11:00:26
回答 6查看 673关注 0票数 2

我有一个奇怪的字符串(单行),其中第一个字段是键,第二个字段是值。看起来是这样的:

代码语言:javascript
运行
复制
key1\val1\key2\val2\key3\val3\...\keyn\valn

将这种符号转换为python字典的最佳方法是什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-09-23 11:15:39

简单的回答。

代码语言:javascript
运行
复制
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]
票数 1
EN

Stack Overflow用户

发布于 2018-09-23 11:08:25

只需使用临时列表将字符串拆分为:

代码语言:javascript
运行
复制
s = 'key1\\val1\\key2\\val2\\key3\\val3'

temp = s.split('\\')
d = {k: v for k, v in zip(temp[0::2], temp[1::2])}
票数 2
EN

Stack Overflow用户

发布于 2018-09-23 11:05:04

以下是我想出的:

代码语言:javascript
运行
复制
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

但是,请注意,如果键值仅为字符(没有空格或下划线或类似的东西),则只能使用。为了适应这种不同的情况,您必须修改我在上面的代码中使用的简单正则表达式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52465449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档