如何在Python中制作2D数组的副本?

发布于 2021-01-29 18:00:34

X是2D数组。我想要一个新变量Y,其值与数组相同X。此外, 使用Y进行的任何其他操作都不应影响X的值。

在我看来使用起来很自然y=x。但是它不适用于数组。如果我这样做,然后更改y,x也会更改。我发现问题可以这样解决:y = x[:]

但是它不适用于2D阵列。例如:

x = [[1,2],[3,4]]
y = x[:]
y[0][0]= 1000
print x

返回[ [1000, 2], [3, 4] ]。如果我替换为y=x[:],这也无济于事y = x[:][:]

有人知道什么是正确且简单的方法吗?

关注者
0
被浏览
153
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    尝试这个:

    from copy import copy, deepcopy
    y = deepcopy(x)
    

    我不确定,也许copy()就足够了。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看