python的列表是一种很强大的数据存储结构,也是python最常用的数据结构之一,它可以直接来模拟栈的数据结构,应用在多维数组等等等等。
python的字典也是非常好用,对于存储键值对,图结构存储都有应用。
它们之间也能够进行快速的转化,下面进行一下介绍:
1.列表生成字典
(1).zip打包转字典类型(一行解决)
#zip()里面放入要转化的列表,第一个列表是键,第二个列表是值
new_dict = dict(zip([1,2,3,4,5],['a','b','c','d','e']))
(2).迭代式转化(一行解决)
#zip()里面放入要转化的列表,第一个列表是键,第二个列表是值
new_dict = {x : y for x, y in zip([1,2,3,4,5],['a','b','c','d','e'])}
(3).循环赋值(普通方式)
new_dict = {}
for x,y in zip([1,2,3,4,5],['a','b','c','d','e']):
new_dict[x] = y
2.字典转列表
(1).获取键、值转列表(一行解决)
#这里的{'1':'hello'}即字典
list_1,list_2 = list({'1':'hello'}.keys()),list({'1':'hello'}.values())
(2).字典拆包(一行解决)
#这里的{'1':'hello'}即字典
list_1,list_2 = [*{'1':'hello'}],[{'1':'hello'}[x] for x in [*{'1':'hello'}]]
(3).普通用法
list_1,list_2 = [],[]
for x,y in {'a':'hello'}.items():
list_1.append(x) #键
list_2.append(y) #值
或
dict_1 = {'a':'hello'}
list_1,list_2 = [],[]
for x in dict_1:
list_1.append(x) #键
list_2.append(dict_1[x]) #值