Python从多个列表创建dict列表
如何将列表转换为dict列表 发件人: 我想要:Python从多个列表创建dict列表,python,Python,如何将列表转换为dict列表 发件人: 我想要: mylist= [ {'name':'Mary','age':15,'sex':'F'}, {'name':'Susan','age':30,'sex':'F'}, {'name':'John','age':20,'sex':'M'}, ] 这是zip函数的完美示例 给定: name = ['Mary','Susan','John'] age = [15,30,20] sex = ['
mylist= [ {'name':'Mary','age':15,'sex':'F'},
{'name':'Susan','age':30,'sex':'F'},
{'name':'John','age':20,'sex':'M'},
]
这是
zip
函数的完美示例
给定:
name = ['Mary','Susan','John']
age = [15,30,20]
sex = ['F','F','M']
output = []
for item in zip(name, age, sex):
output.append({'name': item[0], 'age': item[1], 'sex': item[2]})
[
{'name': 'Mary', 'age': 15, 'sex': 'F'},
{'name': 'Susan', 'age': 30, 'sex': 'F'},
{'name': 'John', 'age': 20, 'sex': 'M'},
]
然后:
name = ['Mary','Susan','John']
age = [15,30,20]
sex = ['F','F','M']
output = []
for item in zip(name, age, sex):
output.append({'name': item[0], 'age': item[1], 'sex': item[2]})
[
{'name': 'Mary', 'age': 15, 'sex': 'F'},
{'name': 'Susan', 'age': 30, 'sex': 'F'},
{'name': 'John', 'age': 20, 'sex': 'M'},
]
将产生:
name = ['Mary','Susan','John']
age = [15,30,20]
sex = ['F','F','M']
output = []
for item in zip(name, age, sex):
output.append({'name': item[0], 'age': item[1], 'sex': item[2]})
[
{'name': 'Mary', 'age': 15, 'sex': 'F'},
{'name': 'Susan', 'age': 30, 'sex': 'F'},
{'name': 'John', 'age': 20, 'sex': 'M'},
]
对于列表理解,还有一种更短的方法:
output = [{'name': t[0], 'age': t[1], 'sex': t[2]} for t in zip(name, age, sex)]
下面是一个例子:
def Convert(a):
it = iter(lst)
res_dct = dict(zip(it, it))
return res_dct
# Driver code
lst = ['a', 1, 'b', 2, 'c', 3]
print(Convert(lst))
您可以将其用于代码。最简单的方法是:
name=['Mary','Susan','John']
age=[15,30,20]
sex=['F','F','M']
list_dict = []
for i in range(0, len(name)):
dict_temp = {}
dict_temp['name'] = name[i]
dict_temp['age'] = age[i]
dict_temp['sex'] = sex[i]
list_dict.append(dict_temp)
我假设所有列表的长度都是一样的。你应该查看PandasTake查看一下
zip
到目前为止你试过什么吗?如果你把标签放在一个列表中,键=['name','age','sex']
,和zip
你的数据列表,t=zip(姓名,年龄,性别)
,你可以使用“将列表列表转换为词典列表”。请参阅这是否回答了您的问题?