python - 将带有 2 层定界符的字符串转换为字典 - python

标签 python string dictionary types tuples

给定一个字符串:

s = 'x\t1\ny\t2\nz\t3'

我想转换成字典:

sdic = {'x':'1','y':'2','z':'3'}

我通过这样做让它工作:

sdic = dict([tuple(j.split("\t")) for j in [i for i in s.split('\n')]])

首先:['x\t1','y\t2','z\t3'] # str.split('\n')

然后:[('x','1'),('y','2'),('z','3')] # 元组([str.split('\t ')])

最后:{'x':'1', 'y':'2', 'z':'3'} # dict([tuples])

但是有没有更简单的方法将带有 2 层分隔符的字符串转换为字典?

最佳答案

您在遍历列表理解时有点冗长:

>>> s = 'x\t1\ny\t2\nz\t3'
>>> dd = dict(ss.split('\t') for ss in s.split('\n'))
>>> dd
{'x': '1', 'y': '2', 'z': '3'}
>>>

关于python - 将带有 2 层定界符的字符串转换为字典 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18687472/

相关文章:

python - 从 json 读取数组,无需任何根对象

python - AWS Elasticbeanstalk : Command 02_createadmin failed 上的 Django

python - 使用 C 和 Python 代码创建一个 Python 模块

string - UTF-16 编码 - 为什么使用复杂的代理对?

c++ - 使用指向 map vector 的指针 (C++)

dictionary - Java 8 将 Map<Department, List<Person>> 转换为 Map<Department, List<String>>

python - 自动化无聊的事情 - 逗号代码 : Why doesn't my code work?

C++ 在没有 to_string 的情况下将整数添加到字符串

c - 如何在 C 中递归地查找另一个字符串中的字符串位置?

dictionary - 如何映射vim视觉模式来替换我选择的文本部分?