一、字典转列表
d = {'name': 'fqb', 'age': '26', 'city': 'wuhan'}
print(d) # 打印字典本身
print(list(d)) # 注意:打印键
print(list(d.keys())) # 键
print(list(d.values())) # 值
print(list(d.items())) # 键值对
{‘name’: ‘fqb’, ‘age’: ‘26’, ‘city’: ‘wuhan’}
[‘name’, ‘age’, ‘city’]
[‘name’, ‘age’, ‘city’]
[‘fqb’, ‘26’, ‘wuhan’]
[(‘name’, ‘fqb’), (‘age’, ‘26’), (‘city’, ‘wuhan’)]
结论:
list(dict)和list(dict.keys())都是把key值作为list的元素
list(dict.values())是value(值)作为list元素
list(dict.items())就是键和值作为list元素
二、列表转字典
方法一:使用zip转化
长列表末尾多余元素会被过滤。
a = ['a1','a2','a3','a4']
b = ['b1','b2','b3']
d = zip(a,b)
print(dict(d)) # {'a1': 'b1', 'a2': 'b2', 'a3': 'b3'}
方法二:嵌套列表
列表中只能包含两个元素。
# 列表中只允许两个元素
a = ['a1', 'a2']
b = ['b1', 'b2']
c = [a, b]
c_dict = dict(c)
print(c_dict)
{‘a1’: ‘a2’, ‘b1’: ‘b2’}
方法三:for循环赋值
类似zip方法,不使用键列表较值列表长情形。
a = ['a1', 'a2']
b = ['b1', 'b2', 'b3']
dic={}
for i in range(0, len(a)):
dic[a[i]]=b[i]
print(dic)
{‘a1’: ‘b1’, ‘a2’: ‘b2’}