目录
bool,str可以转换全部数据类型 ,dict.items( ) #将字典的键值对凑成一个个元组,组成二级列表,作为可迭代对象。
字典与列表的转换
# 列表转字典
list1 = ['name', 'age', 'sex']
list2 = ['张三', 18, '男']
dict = {}
for i in range(len(list1)):
dict[list1[i]] = list2[i]
print(dict, type(dict))
# 输出结果:{'name': '张三', 'age': 18, 'sex': '男'} <class 'dict'># 字典转换成列表
dict = {'name': '张三', 'age': 18, 'sex': '男'}
keys = list(dict.keys())
values = list(dict.values())
print(keys, type(keys))
print(values, type(values))
方法二:zip函数:生成元组元素的二级列表,配合强转dict()使用
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]# 列表转字典方式二:使用内置函数zip
list1 = ['name', 'age', 'sex']
list2 = ['张三', 18, '男']
d = dict(zip(list1, list2))
print(d)
字符串与字典的转化
json序列化及反序列化操作,json为字符串类型,反json为字典类型
json.dumps()
json.loads()
强制转换数据类型
转换为字符串
# 1.强制转换成 str
"""可以转换所有的数据类型,就是单纯在原数据类型的两边套上引号就是字符串"""
res = str(var6)
转换为列表
# 2.强制转换成 list
lst = list(var1)
lst = list(var3)
lst = list(var5)
print(lst , type(lst))
转换为元组
#强制转换成元组
tup = tuple(var5)
print(tup , type(tup))
转换为集合
#强制转换集合
setvar = set(var1)
setvar = set(var2)
setvar = set(var5)
print(setvar , type(setvar))
转换为字典
# dict 强转
"""需要等长的二级容器,并且每个容器里面的元素个数得是2个"""
# 1.外层是列表,内层是列表/元组
container = [["a",1] , ("b",2)]
# 2.外层是元组,内层是列表/元组
container = (["c",1],("d",4))
# 3.外层是集合,内层是元组
container = {("f",10),('e',20)}
dictvar = dict(container) ##强转
print(dictvar , type(dictvar))