事前定義されたサイズの多次元配列を作成したいと考えています。CI では次のようにします。
int multi_array[5][6][7];
Pythonでそのようなものを作成するにはどうすればよいですか?
np.empty((5, 6, 7), dtype=int)
または、ゼロで埋めたい場合は、
np.zeros((5, 6, 7), dtype=int)
import numpy as np
a = np.ndarray((5,6,7), dtype=int)
注: この配列には、作成時に未割り当てのメモリにあったジャンクが含まれます。後でデータを入力する場合は、効率のためにこのフォームを使用することをお勧めします。それ以外の場合は、代わりに使用することをお勧めしますnp.zeros
。
numpy
最近のほとんどのシステムで見つけることができますが、これは非標準の拡張機能であることを覚えておいてください。純粋な python でこれを行う必要がある場合は、次のようにしてみてください。
multi_array = []
for i in xrange(5):
list2 = []
for j in xrange(6):
list3 = []
for k in xrange(7):
list3.append(0)
list2.append(list3)
multi_array.append(list2)
もちろん、より良いアプローチは、python
変数が のように最初に宣言されることを意図していないため、その場で (データをロードするときなどに) これを行うことC
です。