python 字典、列表、字符串 之间的转换

1、列表与字符串转换

列表转字符串:

将列表中的内容拼接成一个字符串

>>> l=['a','b','c']
>>> ''.join(l)
'abc'

将列表中的值转成字符串

>>> l=['a',1,'b',2]
>>> [str(i) for i in l]
['a', '1', 'b', '2']

字符串转列表:

用eval转换

>>> s="['a','b','c']"
>>> eval(s)
['a', 'b', 'c']

将字符串每个字符转成列表中的值

>>> s='abc'
>>> list(s)
['a', 'b', 'c']

将字符串按分割成列表

>>> s='a,b,c'
>>> s.split(',')
['a', 'b', 'c']

2、列表与字典转换

列表转字典:

将两个列表转成字典

>>> l=['a','b','c']
>>> t=[1,2,3]
>>> zip(l,t)
<zip object at 0x000001FEA91A4580>
>>> dict(zip(l,t))
{'a': 1, 'b': 2, 'c': 3}

将嵌套列表转为字典

>>> l=[['a',1],['b',2],['c',3]]
>>> dict(l)
{'a': 1, 'b': 2, 'c': 3}

字典转列表:

字典中键、值转为列表

>>> d={'a':1,'b':2}
>>> list(d.keys())
['a', 'b']
>>> list(d.values())
[1, 2]

3、字典与字符串转换

字符串转字典:

用eval转换

>>> s="{'a':1,'b':2}"
>>> eval(s)
{'a': 1, 'b': 2}

用json.loads 转换

注意:Python中json.loads()无法解析单引号字符串
>>> import json
>>> s='{"a":1,"b":2}' 
>>> json.loads(s)
{'a': 1, 'b': 2}
这里的a,b不可以用单引号包围,否则json.loads()无法解析。

字典转字符串:

用json.dumps 转换

>>> import json
>>> d={'a':1,'b':2}
>>> json.dumps(d)
'{"a": 1, "b": 2}'

强转换

>>> d={'a':1,'b':2}
>>> str(d)
"{'a': 1, 'b': 2}"