python中经常会有将某种数据类型转为另一种数据类型需求,但是有些数据类型不能直接使用内置函数或者是隐式转换,那么这个时候就需要使用一些特殊的格式和方法了 。下文会介绍一个python字符串转为字典的方法,一起看看吧 。
文章插图
一、使用ast模块
在python标准库中有一个模块是ast,它包含了literal_eval()这个函数可以将字符串中字典格式的数据转化成真正的字典类型,具体实例如下所示:
【Python怎么将字符串转为字典?这几个方法都能实现】import astuser = '{"name" : "john", "gender" : "male", "age": 28}'user_dict = ast.literal_eval(user)二、json模块
因为JSON格式的数据就是类似于python中的字典类型,所以如果使用json模块的loads方法去读取这个字符串的话那么就会将这个字符串的左右两边的逗号都给去掉,这样字符串类型就转为字典类型了,示例如下:
import jsonuser_info= '{"name" : "john", "gender" : "male", "age": 28}'user_dict = json.loads(user_info)三、eval()函数
python内置函数eval()的作用是执行括号内的表达式获得相应的返回值,因为在字符串中的数据是python中字典数据类型的格式 。所以使用eval的话就会将其当成数据类型转换的表达式去执行,示例如下:
usr_info = '{"name" : "john", "gender" : "male", "age": 28}'user_dict = eval(user_info)user_dict因为字典数据类型是键值对的格式保存数据的,所以如果想要将一个字符串转为字典的话那么这个字符串中所包含的值必须和键值对格式是一样的,这样才能将字符串转为字典,否则无法确定值和键就谈不上转换了 。
推荐阅读
- 怎么去设置Pycharm不生产pyc文件?这几个方法简单易用
- Python学习有什么比较好用的工具吗?Python学习必备工具推荐
- Python是解释型的语言吗?Python是怎么运行程序的
- MySQL数据库出现1045错误代码怎么解决?解决方法看这里
- WingIDE6打开py文件中文乱码怎么办?WingIDE乱码解决方法
- Pycharm编辑器怎么配置svn去使用?Pycharm上svn配置教程
- 学大数据使用Python好还是Java好?看这个文章就知道了
- python中int函数怎么用?超详细的用法教程来了
- 字符串是什么?python中有字符串吗?这篇文章给你答案
- Python程序的运行速度要怎么加快?Python程序有什么优化方法