Skip to main content
 首页 » 编程设计

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

2025年05月04日22me-sa

给定一个字符串:

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'} 
>>>