【问题标题】:Alternative to deepcopy in pythonpython中deepcopy的替代方案
【发布时间】:2015-06-19 21:38:03
【问题描述】:
在我们必须为学校做的一个项目中,我们得到了一项任务,要为 floyd-warshall 算法编写一个实现。
限制之一是,我们不能使用 import 语句。
我没有阅读这篇文章并使用 deepcopy 编写我的算法。现在我正在寻找一种方法来制作我自己的“复制”功能。
我要复制的是一本包含 2 个字典的字典
{"a": {...}, "b": {...}}
这可能吗?提前非常感谢你
【问题讨论】:
标签:
python
dictionary
copy
deep-copy
【解决方案1】:
您可以将字典理解与copy 字典方法一起使用:
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}}