【发布时间】:2020-04-09 10:23:05
【问题描述】:
我有一个列表,我使用 deepcopy 复制了它。在上面的函数中,我有另一个列表,它也使用深层复制并按预期工作。虽然对于下面的代码,我得到一个 RuntimeError: dictionary changed size during iteration。不知道为什么会发生这种情况,因为我正在复制原始列表,然后在复制的列表上运行修改。数据对象是列表中的字典。
amdcount = 0
with open('amd3.json', 'r') as b:
data = json.load(b)
newlist.append(data)
copylist = copy.deepcopy(new_list)
for item in copylist:
for k in item:
if k == 'minute':
item['test'] = 'test'
print(k, item[k])
上面的代码在迭代过程中生成了一个 RuntimeError: dictionary changed size。
【问题讨论】:
标签: python dictionary deep-copy