将dict复制到带有dict数组的dict的合适方法是什么,并避免覆盖这些值。
尝试将dict复制到带有dict数组的dict时会覆盖该值。
import copy
l_mapFrameInfo = dict()
l_frame = dict()
itr =0
for Frames in FramesList:
l_frameInfo['name'] = Frames.get('name')
l_frameInfo['number'] = Frames.get('number')
l_mapFrameInfo[itr] = pcopy.deepcopy(l_frameInfo)
itr+=1
从xml文件中读取名称和编号,该文件根据来自XML文件的值不断更改。
手术后: mydict中的所有字典名称和数字都会获得复制的最后一个字典的值
答案 0 :(得分:0)
如果您的复制没有做您想做的事情,您可以使用理解深入到手动完成相关操作。如果字典包含包含字典的列表,则应执行以下操作:
my_dict = {'a': [{'c': 1, 'd': 2}], 'b': [{'e': 3}]}
my_dict_copy = {key: [dict(entry) for entry in val] for key, val in my_dict.items()}
可以测试:
my_dict['a'][0]['c'] = -1
print(my_dict['a'][0]['c'])
>> -1
print(my_dict_copy['a'][0]['c'])
>> 1
原件的更改没有触及副本。