python 列表变字符串_Python字典、字符串及列表的相互转换

Python中几种常见数据结构的相互转换:字符串(str)、字典(dict)、列表(list)。

一、字符串–列表

字符串转列表

1.使用内置函数 list()

python 列表变字符串_Python字典、字符串及列表的相互转换_第1张图片

2.使用内置函数 eval()

python 列表变字符串_Python字典、字符串及列表的相互转换_第2张图片

3.使用内置模块 json.loads() 方法

python 列表变字符串_Python字典、字符串及列表的相互转换_第3张图片

4.使用 split() 进行分割

python 列表变字符串_Python字典、字符串及列表的相互转换_第4张图片

如果我们要对多个字符进行分割,那么可以使用内置模块 re.split() 方法。

python 列表变字符串_Python字典、字符串及列表的相互转换_第5张图片

列表转字符串

1.使用内置函数 str()

python 列表变字符串_Python字典、字符串及列表的相互转换_第6张图片

上面直接使用 str(),是将整个列表转换为字符串,如果我们不想改变列表的类型,只是要将列表中所有元素转为字符串,那么可以借助列表推导式来实现。

python 列表变字符串_Python字典、字符串及列表的相互转换_第7张图片

2.使用 join() 进行拼接

python 列表变字符串_Python字典、字符串及列表的相互转换_第8张图片

3.使用内置模块 json.dumps() 方法

python 列表变字符串_Python字典、字符串及列表的相互转换_第9张图片

需要注意的是,按 json 的标准规范是使用双引号 “”,因此在转换之后得到的json字符串是双引号的。

二、字符串–字典

字符串转字典

1.使用内置函数 eval()

python 列表变字符串_Python字典、字符串及列表的相互转换_第10张图片

2.使用内置模块 json.loads() 方法

python 列表变字符串_Python字典、字符串及列表的相互转换_第11张图片

3.使用内置模块 ast.literal_eval() 方法

python 列表变字符串_Python字典、字符串及列表的相互转换_第12张图片

我们发现,Python中已经有了内置函数 eval(),但现在却又出现个类似的 ast.literal_eval()方法,二者的区别是什么呢?

这里主要是出于安全性的考虑,因为 ast.literal_eval()会判断计算后的结果是不是合法的python类型,如果是则进行运算,否则就不进行运算,而 eval() 则不会管这些,即使字符串是一个命令,它也会进行解析。

因此,相比 eval() 函数, ast.literal_eval()更加安全,更被 推荐使用 。

字典转字符串

1.使用内置函数 str()

python 列表变字符串_Python字典、字符串及列表的相互转换_第13张图片

2.使用内置模块 json.dumps() 方法

python 列表变字符串_Python字典、字符串及列表的相互转换_第14张图片

需要注意的是,按 json 的标准规范是使用双引号 “”,因此在转换之后得到的json字符串是双引号的。

如果我们想让得到的字符串仍保持单引号,可以通过 replace() 方法来简单处理一下。

python 列表变字符串_Python字典、字符串及列表的相互转换_第15张图片

三、字典–列表

字典转列表

1.使用内置函数 list()

python 列表变字符串_Python字典、字符串及列表的相互转换_第16张图片

列表转字典

1.使用内置函数 dict(),将嵌套列表转换为字典

python 列表变字符串_Python字典、字符串及列表的相互转换_第17张图片

2.使用内置函数 zip(),将2个列表转换为字典

python 列表变字符串_Python字典、字符串及列表的相互转换_第18张图片

如果2个列表的长度不一样时,那么就不展示多出来的元素。

python 列表变字符串_Python字典、字符串及列表的相互转换_第19张图片


转自:Python字典、字符串及列表的相互转换-侵删

你可能感兴趣的:(python,列表变字符串)