numpy.arrayも基本シャロー・コピーだが、部分を取るとディープ・コピー
http://d.hatena.ne.jp/teramonagi/20170411/1491892292
の続き的な。
bの部分集合を指定した時点でコピってんだろうなぁ。。。
>>> import numpy as np >>> a = np.array([[1, 2],[3, 4]]) >>> b = np.array([[6, 7],[8, 9]]) >>> a[[(0,0), (1,1)]] = b[[(0,0), (1,1)]] >>> a[0][0] = 100 >>> a[1][1] = 100 >>> a [[100 7] [ 3 100]] >>> b [[6 7] [8 9]]