# ###强制转换成字典类型
# 多级容器数据:该类型是容器数据,并且里面的元素还是容器类型数据
# ###二级容器
# 二级列表
listvar = [1,3,4,5,[6,7,8,9]]
res = listvar[-1][3]
print(listvar)
print(res)
# 二级元组
tuplevar = (1,2,3,4,5,(6,7,8,9))
#二级集合(只能在里面放元组作为集合里面的容器数据)
setvar = {1,2,3,(4,5,6,)}
#setvar = {1,2,3(4,5,6,{'a':1,"b":1})} # error 必须是可哈希不可变
#setvar = {1,2,3,[4,5,6]} # error
print(setvar)
#二级字典
dictvar = {"a":{"c":3},"b":2}
res = dictvar["a"]
print(res)
print(res["c"])
#简写
print(dictvar["a"]["c"])
# 四级容器
content = [1,2,3,4,(4,6,{"a":{4,5,6,7,},"b":2},7),5]
print(content[4])
print(content[4][2])
# 获取集合
print(content[4][2]["a"])
#等长的二级容器
'''首先容器是2个,代代表二级容器,每一个容器元素个数都是样的就做等长'''
listvar =[(1,2,3,4),(5,6,7,8)]
tuple =([1,2,],[3,4],[5,6])
# ###dict强制转换成字典:(里面的元素只能是2个)
# (1)外面是列表,里面是列表 或 元组 或 字符串
'''字符串元素的个数只能是2个,有它的 局限性,不推荐使用'''
listvar = [['a',1],('b',2),"c3"] #c33
res = dict(listvar)
print(res,type(res))
'''
会产生意想不到的结果,不推荐使用
listvar = [{'c',1},{'d',2}]
res = dict(listvar)
print(res,type(res)
'''
# (2) 外面是元组,里面是列表 或 元组 或 字符串
'''字符串元素的个数只能是2个,有它的局限性,不推荐使用'''
tuplevar = (["c",3],("d",33),"f2")
res = dict(tuplevar)
print(res,type(res))
# (3) 外面是集合,里面是 元组 或 字符串
setvar = {("c",3),('d',3)}
res = dict(setvar)
print(res,type(res))
#总结
'''
关于容器类型数据的强转一共如下
str() list() set() tuple() dict() 都可以转换成对应的数据类型
关于Number 数据类型的强转一共如下:
int() bool() flaot() complex() 都可以转换成对应的数据类型
'''
res = str()
print(repr(res))
res = bool()
print(res)