![]() |
怕老婆的钱包 · I can not find a ...· 7 月前 · |
![]() |
腹黑的领带 · 在qml委托可视化模型更改上更新c++模型- ...· 8 月前 · |
![]() |
闯红灯的煎鸡蛋 · Kotlin ...· 9 月前 · |
![]() |
耍酷的甘蔗 · Exception in thread ...· 9 月前 · |
![]() |
还单身的山寨机 · mongoose中findOneAndUpd ...· 9 月前 · |
Python中几种常见数据结构的相互转换:字符串(str)、字典(dict)、列表(list)。
一、字符串–列表
字符串转列表
1.使用内置函数 list()
2.使用内置函数 eval()
3.使用内置模块 json.loads() 方法
4.使用 split() 进行分割
如果我们要对多个字符进行分割,那么可以使用内置模块 re.split() 方法。
列表转字符串
1.使用内置函数 str()
上面直接使用 str(),是将整个列表转换为字符串,如果我们不想改变列表的类型,只是要将列表中所有元素转为字符串,那么可以借助列表推导式来实现。
2.使用 join() 进行拼接
3.使用内置模块 json.dumps() 方法
需要注意的是,按 json 的标准规范是使用双引号 “”,因此在转换之后得到的json字符串是双引号的。
二、字符串–字典
字符串转字典
1.使用内置函数 eval()
2.使用内置模块 json.loads() 方法
3.使用内置模块 ast.literal_eval() 方法
我们发现,Python中已经有了内置函数 eval(),但现在却又出现个类似的 ast.literal_eval()方法,二者的区别是什么呢?
这里主要是出于安全性的考虑,因为 ast.literal_eval()会判断计算后的结果是不是合法的python类型,如果是则进行运算,否则就不进行运算,而 eval() 则不会管这些,即使字符串是一个命令,它也会进行解析。
因此,相比 eval() 函数, ast.literal_eval()更加安全,更被 推荐使用 。
字典转字符串
1.使用内置函数 str()
2.使用内置模块 json.dumps() 方法
需要注意的是,按 json 的标准规范是使用双引号 “”,因此在转换之后得到的json字符串是双引号的。
如果我们想让得到的字符串仍保持单引号,可以通过 replace() 方法来简单处理一下。
三、字典–列表
字典转列表
1.使用内置函数 list()
列表转字典
1.使用内置函数 dict(),将嵌套列表转换为字典
2.使用内置函数 zip(),将2个列表转换为字典
如果2个列表的长度不一样时,那么就不展示多出来的元素。
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券