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]) #值

方法有多种多样,自己觉得好用就是最好的