![](/img/trans.png)
[英]How to create a dictionary from a list of keys and a dictionary of values in Python?
[英]Python - How to create a dictionary list from another list which having two keys with multiple values?
我正在尝试从另一个列表创建一个字典列表,该列表具有两个具有多个值的键,如下所示:
contact_items = [{'type': ['value1', 'value2', 'value3'],
'name': ['john', 'SCANIA', 'MARK']}]
list1 = ''
list2 = ''
list3 = []
test_dict = {}
for item in contact_items:
list1 = item['type']
list2 = item['name']
test_dict = {}
for k in list1:
for l in list2:
test_dict['type'] = k
test_dict['name'] = l
list3.append(test_dict)
print(list3)
上面的代码没有按预期返回字典列表。
输出:
[{'type': 'value3', 'name': 'MARK'}, {'type': 'value3', 'name': 'MARK'}, {'type': 'value3', 'name': 'MARK'}, {'type': 'value3', 'nam
e': 'MARK'}, {'type': 'value3', 'name': 'MARK'}, {'type': 'value3', 'name': 'MARK'}, {'type': 'value3', 'name': 'MARK'}, {'type': 'v
alue3', 'name': 'MARK'}, {'type': 'value3', 'name': 'MARK'}]
预期的:
result=[{'type':'value1','name':'john'},
{'type':'value2','name':'SCANIA'},
{'type':'value3','name':'MARK'}]
这是非常微不足道的。 查找列表理解和字典理解。
result = [{"type": contact_items[0]["type"][i],
"name": contact_items[0]["name"][i]}
for i in range(len(contact_items[0]["name"])) ]
更整洁。
items = contact_items[0]
result = [{"type": items["type"][i], "name": items["name"][i]} for i in range(len(items["name"]))]
result
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.