我有一本字典叫wantedPoints
。
使用以下行在字典上执行深度复制:
copyWantedPoints = deepcopy(wantedPoints)
我得到的结果是:
wantedPoints
copyWantedPoints
{'AB12': [], 'GPS1': [], 'GPS3': [], 'BS3': [], 'AB41': [], 'AB49': [], 'AB43': [], 'AB42': [], 'AB45': [], 'AB44': [], 'AB47': [], 'AB46': [], 'C3': [], 'AB48': [], 'C2': [], 'C5': []}
如您所见,除了两个键,C3
和{
知道为什么会这样吗?在
字典不是有序容器,这就是为什么,如果您想要一个有序的容器,请仔细查看OrderedDict
使用dict不能保证插入顺序,
deepcopy
只是循环并将所有值复制到一个新dict中,因此键的“顺序”可以通过实现而有所不同。注意^ {< CD1> }不将它复制为一个C++字节副本,例如,它只需要所有的键和所有的值(复制它们)并将它们放在一起。在看看这个关于python字典示例是如何实现的post
相关问题 更多 >
编程相关推荐