私は最近Pythonは -
しかし[[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
として配列a
をインスタンス化
a = [[0] * 4] * 4
を使用して4x4の定数(0の)配列をインスタンス化しようとしたユニークな要素の一定の配列を作成し、これはそうではありません配列のいずれかの要素を変更すると、すべての要素が変更されるため、一意の要素の配列を作成します。たとえば、次のように変更します。
の変更
[[1, 0, 0, 0],
[1, 0, 0, 0],
[1, 0, 0, 0],
[1, 0, 0, 0]]
からa
私はこれがなぜ起こるか私は理解して考える(リストのコピーがリストのポインタをコピーして、指定しない限り、などのintのとは異なり、別のコピーを作成していない)が、疑問に残っています:
NumPyなどの外部モジュールを使用せずに定数配列をインスタンシエートする簡単な方法がありますか?ユニークな要素は後で単純なa[i][j] = x
アドレッシングで変更できますか?