[英]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.