加载中...

python deepcopy

需要注意,\(python\) 的列表与 \(CPP\)\(vector\) 在赋值方面原理并不相同:

\(vector\) 的直接赋值本身就是深拷贝;而 \(python\) 列表的赋值是浅拷贝。也就是说在做题的过程中,不可以直接用 "\(b = a\)" 的方式来直接复制一个列表,而要使用专门的深拷贝函数——\(deepcopy\)

引入库:

from copy import deepcopy

使用:

from copy import deepcopy
a = [1, 2, 3, 4, 5]
b = a
b[0] = 6
print(f"a:{a}")
print(f"b:{b}")

c = [1, 2, 3, 4, 5]
d = deepcopy(c)
d[0] = 6
print(f"c:{c}")
print(f"d:{d}")

运行结果:

a:[6, 2, 3, 4, 5]
b:[6, 2, 3, 4, 5]
c:[1, 2, 3, 4, 5]
d:[6, 2, 3, 4, 5]
posted @ 2025-07-30 12:21  jxs123  阅读(15)  评论(0)    收藏  举报