深度复制词典更改命令

2024-09-30 01:34:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典叫wantedPoints
使用以下行在字典上执行深度复制:

copyWantedPoints = deepcopy(wantedPoints)

我得到的结果是:

wantedPoints

^{pr2}$

copyWantedPoints

{'AB12': [], 'GPS1': [], 'GPS3': [], 'BS3': [], 'AB41': [], 'AB49': [], 'AB43': [], 'AB42': [], 'AB45': [], 'AB44': [], 'AB47': [], 'AB46': [], 'C3': [], 'AB48': [], 'C2': [], 'C5': []}

如您所见,除了两个键,C3和{}改变了它们在字典中的位置。
知道为什么会这样吗?在


Tags: 字典c3bs3pr2deepcopyab12gps3gps1
1条回答
网友
1楼 · 发布于 2024-09-30 01:34:19

字典不是有序容器,这就是为什么,如果您想要一个有序的容器,请仔细查看OrderedDict

使用dict不能保证插入顺序,deepcopy只是循环并将所有值复制到一个新dict中,因此键的“顺序”可以通过实现而有所不同。注意^ {< CD1> }不将它复制为一个C++字节副本,例如,它只需要所有的键和所有的值(复制它们)并将它们放在一起。在

看看这个关于python字典示例是如何实现的post

相关问题 更多 >

    热门问题