替代python中的deepcopy

时间:2015-04-14 10:08:53

标签: python dictionary copy deep-copy

在我们为学校做的项目中,我们得到了一个编写floyd-warshall算法实现的任务。 其中一个限制是,我们无法使用import语句。 我没有读过这个并使用deepcopy编写我的算法。现在我正在寻找一种方法来制作我自己的“复制”功能。

我要复制的东西是2个字典的字典

{"a": {...}, "b": {...}}

这可能吗?非常感谢你提前

1 个答案:

答案 0 :(得分:2)

您可以使用字典的copy方法使用dict理解:

d={"a": {...}, "b": {...}}

new={i:j.copy() for i,j in d.items()}

演示:

>>> d ={1: {1: 5}, 2: {2: 2}, 3: {3: 9}}
>>> l ={i:j.copy() for i,j in d.items()}
>>> l[1][1]=0
>>> l
{1: {1: 0}, 2: {2: 2}, 3: {3: 9}}
>>> d
{1: {1: 5}, 2: {2: 2}, 3: {3: 9}}