以下の例は私にとって奇妙です。配列a
とc
は異なりますが、a
の最初の要素を変更すると、c
の最初の要素も同様に変更されます。なぜnumpy
アレイはこのように実装されていますか? a
がリストとして割り当てられている場合、a
の最初の要素を変更しても、c
の最初の要素は変更されません。 numpy
配列の振る舞いが望まれる例は考えられません。numpy配列の変わったコピー構成
import numpy as np
a = np.arange(3,5)
#a = [3, 4]
b = a
c = a[:]
d = a.copy()
print(a is b) # True
print(a is c) # False
print(a is d) # False
print(a, b, c, d) #[3 4] [3 4] [3 4] [3 4]
a[0] = -11.
print(a, b, c, d) #[-11 4] [-11 4] [-11 4] [3 4] HUH?!
'a [:]'はリストと配列では異なります。 '__getitem__'インデックス方法は異なっています。 – hpaulj