Python怎么将字符串转为字典?这几个方法都能实现

python中经常会有将某种数据类型转为另一种数据类型需求,但是有些数据类型不能直接使用内置函数或者是隐式转换,那么这个时候就需要使用一些特殊的格式和方法了 。下文会介绍一个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因为字典数据类型是键值对的格式保存数据的,所以如果想要将一个字符串转为字典的话那么这个字符串中所包含的值必须和键值对格式是一样的,这样才能将字符串转为字典,否则无法确定值和键就谈不上转换了 。

    推荐阅读