X
是一个二维数组。我想要一个新变量Y
与数组具有相同值的X
。而且,对 Y 的任何进一步操作不应影响 X 的值。
在我看来使用起来很自然y = x
。但它不适用于数组。如果我这样做然后改变 y,x 也会改变。我发现这个问题可以这样解决:y = x[:]
但它不适用于二维数组。例如:
x = [[1,2],[3,4]]
y = x[:]
y[0][0]= 1000
print x
returns [ [1000, 2], [3, 4] ]
。如果我更换也无济于事y=x[:]
by y = x[:][:]
.
有谁知道什么是正确且简单的方法?
使用 deepcopy() 或 copy() 是一个很好的解决方案。
对于简单的二维数组情况
y = [row[:] for row in x]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)