容器类型数据的转换
容器类型的强制转换str强制将数据转换成字符串list强制将数据转换成列表tuple强制将数据转换成元组set强制将数据转换成集合扩展
dict强制将数据转换成字典外层是列表外层是元组外层是集合例外1例外2扩展:等长二级容器
类型判断使用方法一使用方法二
容器类型的强制转换
str强制将数据转换成字符串
str可以转换所有的数据类型, 在当前的数据类型两边套上引号
var
= [1, 2, 3]
res
= str(var
)
print(repr(res
), type(res
))
repr():原型化输出字符串
list强制将数据转换成列表
如果原数据类型是字符串:把字符串中的每个元素单独拿出来,作为列表中的新元素使用如果原数据类型是字典:只保留字典中的键,忽略字典的值如果原数据类型是其他容器数据:直接在原数据类型两边换上[]
var
= "abc123"
res
= list(var
)
print(res
, type(res
))
var
= {"a": 1, "b": 2, "c": 3}
res
= list(var
)
print(res
, type(res
))
var
= (123,456,"abc")
res
= list(var
)
print(res
, type(res
))
tuple强制将数据转换成元组
如果原数据类型是字符串:把字符串中的每个元素单独拿出来,作为元组中的新元素使用如果原数据类型是字典:只保留字典中的键,忽略字典的值如果原数据类型是其他容器数据:直接在原数据类型两边换上()
var
= "abc123"
res
= tuple(var
)
print(res
, type(res
))
var
= {"a": 1, "b": 2, "c": 3}
res
= tuple(var
)
print(res
, type(res
))
var
= {123,456,"abc"}
res
= tuple(var
)
print(res
, type(res
))
set强制将数据转换成集合
如果原数据类型是字符串:把字符串中的每个元素单独拿出来,作为集合中的新元素使用如果原数据类型是字典:只保留字典中的键,忽略字典的值如果原数据类型是其他容器数据:直接在原数据类型两边换上{}
var
= "abc123"
res
= set(var
)
print(res
, type(res
))
var
= {"a": 1, "b": 2, "c": 3}
res
= set(var
)
print(res
, type(res
))
var
= [123,456,"abc"]
res
= set(var
)
print(res
, type(res
))
扩展
强转空数据时,默认转换成当前数据类型的一个值
res
= ()
print(res
, type(res
))
dict强制将数据转换成字典
要求: 必须是等长的二级容器,并且里面的元素个数只能是2个外层可以是列表,元组或集合,里层是列表或者元组的等长二级容器
外层是列表
lst
= [["a", 1], ("b", 2)]
dic
= dict(lst
)
print(dic
, type(dic
))
外层是元组
tup
= (["a", 1], ("b", 2))
dic
= dict(tup
)
print(dic
, type(dic
))
外层是集合
setvar
= {("a", 1), ("b", 2)}
dic
= dict(setvar
)
print(dic
, type(dic
))
集合的特征:无序,自动去重 字典的键和集合的值有数据类型上的要求: 不可变的类型(允许的类型范围):Number(int、float、complex、bool)、str、tuple 可变的类型(不允许的类型):list、set、dict
例外1
"""
外层是列表或元组,里层放集合
可以实现,但不推荐使用,
因为集合无序,达不到想要的目的
"""
lst
= [["a", 100], {"b", "250"}]
dic
= dict(lst
)
print(dic
)
例外2
"""
外层是列表,元组或集合,里层放字符串
字符串长度只能是2位,有极大的局限性,不推荐使用
"""
lst
= ["a1","b2"]
dic
= dict(lst
)
print(dic
)
扩展:等长二级容器
外面是容器,里面的元素也是容器,且元素个数相同
lst
= [(1, 2, 3), [4, 5, 6], {7, 8, 9}]
类型判断
使用方法一
isinstance(数据,类型)
如果该数据是这个类型,返回True反之,返回False类型: int、float、complex、bool、str、list、tuple、set、dict
n
= 123
res
= isinstance(n
, int)
print(res
)
n
= "123"
res
= isinstance(n
, int)
print(res
)
使用方法二
isinstance( 数据, (类型1,类型2,类型3…) )
如果该数据在所对应的类型元组当中,返回True反之,返回False类型: int、float、complex、bool、str、list、tuple、set、dict
n
= 123
res
= isinstance(n
, (float, complex, int))
print(res
)
n
= "123"
res
= isinstance(n
, (float, complex, int))
print(res
)
数据类型判断:一真则真,全假则假