我有两个列表,我想将它们合并为字典列表。
我的密码是:

import pprint

list1 = [1, 2, 3, 4]
list2 = [0, 1, 1, 2]
newlist = []
for i in range(0, len(list1)):
    newdict = {}
    newdict["original"] = list1[i]
    newdict["updated"] = list2[i]
    newlist.append(newdict)
pprint.pprint(newlist)

输出:
[{'original': 1, 'updated': 0},
 {'original': 2, 'updated': 1},
 {'original': 3, 'updated': 1},
 {'original': 4, 'updated': 2}]

有更好或更快的方法来做这件事吗?

最佳答案

您可以zip您的两个列表,然后使用列表理解,在这里您可以将字典创建为列表中的每个项:

list1=[1,2,3,4]
list2=[0,1,1,2]

new_list = [{'original': v1, 'updated': v2} for v1, v2 in zip(list1, list2)]

print(new_list)

输出:
[{'updated': 0, 'original': 1}, {'updated': 1, 'original': 2}, {'updated': 1, 'original': 3}, {'updated': 2, 'original': 4}]

关于python - 有效地将列表合并到词典列表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36612437/

10-12 21:44