给定一个字符串:
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/