【发布时间】:2025-12-22 02:55:07
【问题描述】:
一开始我有一个主列表,我打算把所有东西都放进去:
master_list = []
我将数据存储在这样的嵌套列表中:
multi_list = [[1,2,3,4,5],[6,7,8,9,10]]
最终结果需要将此数据转换为这样的字典列表:
master_list
>> [{'x1':1,'x2':2,'y1':3,'y2':4,'id':5},{'x1':6,'x2':7,'y1':8,'y2':9,'id':10}]
这就是我的最终目标。我实现这一目标的方法如下:
multi_list = [[1,2,3,4,5],[6,7,8,9,10]]
master_list = []
iterating_dict = {}
for n in multi_list:
for idx,i in enumerate(['x1','x2','y1','y2','id']):
iterating_dict[i] = n[idx]
master_list.append(iterating_dict)
master_list
>>[{'x1':6,'x2':7,'y1':8,'y2':9,'id':10},{'x1':6,'x2':7,'y1':8,'y2':9,'id':10}]
最终发生的是multi_list 中的第二个项目被存储了两次。我希望它为multi_list 中的所有项目存储转换后的字典。我相信这意味着append 不在循环的正确位置。但是,当我将其进一步放入循环时,它不会将任何内容附加到 master_list。我不能把append 放在更远的地方而不超出范围。
在python中解决这种困难有哪些常规方法?
【问题讨论】:
标签: python python-3.x loops