![](/img/trans.png)
[英]Is there a way I can create a custom dictionary in python without copy method?
[英]Using .copy() to create a copy of a dictionary that can be editing without altering the original dictionary
所以一个非常基本的例子有效:
dict1 = dict({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]})
dict2 = dict1.copy()
dict2['a'] = [9,9,9]
print(dict1['a'])
结果:[1,2,3]
结果表明我能够在不更改原件的情况下编辑副本。
但如果我改为这样做:
dict1 = dict({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]})
dict2 = dict1.copy()
dict2['a'][0] = 9
print(dict1['a'])
结果:[9,2,3]
所以看起来 using.copy() 使得复制的字典具有来自原始字典的独立键,但与这些键关联的值仍然是连接的。 有解决方法吗? 谢谢!
您要创建 dict 的深层副本,否则 dict 中引用的对象将在原始副本和浅副本之间共享(因此在第二个示例中更改元素无法按您的意愿工作):
import copy
dict1 = dict({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]})
dict2 = copy.deepcopy(dict1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.