有效地将列表合并到字典列表中

AMi*_*sra 2 python dictionary list

我有2个列表,我想将它们合并为词典列表.我的代码:

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)
Run Code Online (Sandbox Code Playgroud)

输出:

[{'original': 1, 'updated': 0},
 {'original': 2, 'updated': 1},
 {'original': 3, 'updated': 1},
 {'original': 4, 'updated': 2}]
Run Code Online (Sandbox Code Playgroud)

有更好或更快的方法吗?

idj*_*jaw 12

您可以压缩两个列表,然后使用列表解析,您可以在列表中为列表中的每个项目创建字典:

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)
Run Code Online (Sandbox Code Playgroud)

输出:

[{'updated': 0, 'original': 1}, {'updated': 1, 'original': 2}, {'updated': 1, 'original': 3}, {'updated': 2, 'original': 4}]
Run Code Online (Sandbox Code Playgroud)