Skip to main content
 首页 » 编程设计

python之如何从两个列表创建字典对象列表

2025年05月04日14mfryf

我有两个列表:

list_of_ids = [46571928, 675829237, 9674826585, 172395729] 
list_of_positions = [1, 4, 9, 13] 

我想从这两个列表中创建以下字典列表:

list_of_dict = [{'id': 46571928, 'position': 1}, {'id': 675829237, 'position': 4}, {'id': 9674826585, 'position': 9}, {'id': 172395729, 'position': 13}] 

我试过创建两个字典,然后将它们合并在一起,但它只映射了第一个值。

ids = ['id'] 
position = ['position'] 
 
dict_id = dict(zip(ids, list_of_id)) 
dict_position = dict(zip(position, list_of_positions)) 
 
def merge(dict1,dict2): 
    res = {**dict1, **dict2} 
    return res 
 
list_of_dict = merge(dict_id,dict_position) 

所以输出是:

[{'id':46571928, 'position': 1}] 

我尝试了一些其他的东西,但它和我得到的一样接近。有人可以帮我解决这个问题吗?谢谢!

请您参考如下方法:

[{'id':ID,'position':POS} for ID,POS in zip(list_of_ids,list_of_positions)] 

输出:

[{'position': 1, 'id': 46571928}, {'position': 4, 'id': 675829237}, {'position': 9, 'id': 9674826585}, {'position': 13, 'id': 172395729}]