python字符串与列表、字典之间的转换
(列表)和(字典)转字符串,可以使用同一个方法, 如果(字符串)是列表格式,则系统自动转换为列表, 如果是字典格式,则自动转换为字典
方法一:通过eval转换:eval方法虽然没有转换问题,但存在安全性问题,因为eval不仅能解析数据类型还能解析一些恶意输入命令,可能造成不好的影响
user = '{"name" : "john", "gender" : "male", "age": 28}'
user_dict = eval(user) print(type(user_dict))
>>>
{"name" : "john", "gender" : "male", "age": 28}
方法二:通过literal_eval转换:literal_eval只会执行合法的python类型,如果有问题会自动跑出去异常(建议使用)
import ast user = "['1', '2']"
user_dict = ast.literal_eval(user)
print(type(user_dict))
>>>
['1', '2']