字典更改没有更改代码

时间:2017-04-16 18:02:10

标签: python

这是我的问题,我使用字典但我想在更改它之前得到它的副本。像这样,如果它们不同,我可以将字典与现在进行比较。

我这样做:

old_dic = dict(data)

但在我用一个函数更改数据之后就像这样做了

data = play_turn(data)

但之后我想打印old_dic但它也改变了。当然我没有在函数play_turn中更改它,我试图只更改数据,然后打印两个,但只更改了数据。 play_turn会对数据进行很多更改。 play_turn函数使船(字典中的键,因为它是游戏)改变方向或改变速度,但每个信息都存储在数据字典中。 在字典中还有一些关键字或某些列表的字典。

如何在old_dic功能期间更改play_turn

1 个答案:

答案 0 :(得分:1)

你需要克隆这样的字典

import copy
old_dic_copy = copy.deepcopy(data)

如果要将引用复制到对象

,则需要使用=

要克隆对象时使用.copy.deepcopy

然后你可以在更换新的后打印他:)