私はスライスを使って配列の割り当てを使用していたときに、奇妙なことが起こったことがあります。ソースコードは以下である:、が配列割り当て後の異なるID B および、結果からスライスを使った配列の割り当て
:
import numpy as np
a = np.array([1,2,3,4]).reshape(2,2)
b = np.array([5,6,7,8]).reshape(2,2)
print(id(a))
print(id(b))
b = a[:]
b[1,1] = 10
print(b is a)
print(id(a))
print(id(b))
print(a)
print(b)
結果は以下のように与えられます。しかし、の値をに変更すると、の値がに変更されました。どうしてこれなの?
崇高なテキストを使用すると、Python 3.4.3。
このリンクは一覧です。この質問は 'numpy'配列に関するものです。 – hpaulj
'a [:]'は 'view'をコピーにしません。 – hpaulj
@hpauljありがとう。あなたが正しいです。ナンシー配列はリストとは異なります。 –