Python的数据类型强行转换的问题

在使用Python去完成某件事情或者是某个脚本的时候需要从其他地方拿取数据,比如,数据库,表格,txt等,然而这些数据可能是str类型(字符串),字符串要想转换成自己想要的数据类型还需要加循环加判断等等,会很麻烦,Python提供了强转换的方法,这里来看下她的使用规则吧,

字符串转字典


a='{"abc":1}'
print(type(a))  #查看a是什么数据类型,控制台可以看到是属于str类型
b=eval(a)   #这里将字符串转换为了字典,eval是关键
print(b,type(b))   #查询转换后的字典和她输入什么类型

打印信息:
<class 'str'>  #a的数据类型
{'abc': 1} <class 'dict'>  #b的内容,和数据类型

字符串转列表

list方法
a = "saui"  #定义一个字符串
b = list(a)   #使用内置函数list转换为列表,这里会把字符串一个一个的拆开打印
print(b)

打印:
["s","a","u","i"]


也可以使用eval内置函数转换,但是这里有个限制条件,列表形式的字符串能使用eval函数转换成列表,字典类型的字符串可以用eval转换为字典 ,反之如果不是的话会报错 如:

列表:
a=‘[‘1’,‘2’]’
b=eval(a)
print(b)

打印
[‘1’,‘2’]


字典:
a=‘{"a":1}’
b=eval(a)
print(b)

打印
{"a":1}

字典列表转字符串

字典
a={"a":1}  #字典
b=str(a)   #字典转字符串
print(b,type(b))  #查看内容和输入类型

打印
{'a': 1} <class 'str'>



列表
a=["a","b"] #列表
b=str(a)   #字典转字符串
print(b,type(b))  #查看内容和输入类型
打印
['a', 'b'] <class 'str'>

注意事项:eval内置函数转换类型是有条件的,比如字典形式的字符串使用eval只能转换为字符串,列表只能转换为列表,如果不属于这种情况内容会报错

猜你喜欢

转载自blog.csdn.net/m0_58002043/article/details/120986850