2012-12-01 82 views
1

我的問題如下。我有一個2D數組。從二維數組中取出一行作爲一維數組並處理它並進行更改,但它也會更改二維數組中的原始條目,但我希望它們保持不變。我如何在Python中解決這個問題?取消舊鏈接的新陣列:python

+0

可能的重複[如何在Python中克隆列表?](http://stackoverflow.com/questions/2612802/how-to-clone-a-list-in-python) –

+4

@RohitJain:這個問題是關於'list',這個是關於'ndarray'的。 – NPE

+0

@NPE ..是的,我注意到了。但我認爲可以用相同的方式完成。難道不是嗎? –

回答

3

你可以使用ndarray.copy()

In [17]: A = array([[1, 1], [3, 2], [-4, 1]]) 

In [18]: b = A[1].copy() 

In [19]: b 
Out[19]: array([3, 2]) 

In [20]: b[0] = 4 

In [21]: b 
Out[21]: array([4, 2]) 

In [22]: A 
Out[22]: 
array([[ 1, 1], 
     [ 3, 2], 
     [-4, 1]]) 

正如你所看到的,A[1]保持不變。