初期化
Pythonで2次元配列を作成するには以下のようにします。SizeX = 3
SizeY = 2
data1 = [[0 for i in range(SizeX)] for j in range(SizeY)]
参照
要素に参照するには data1[y][x] のように記述します。以下、サンプルコードです。
SizeX = 3
SizeY = 2
data1 = [[0 for i in range(SizeX)] for j in range(SizeY)]
data1[1][2] = 1
for y in range(0, SizeY):
for x in range(0, SizeX):
print(data1[y][x], end="")
print("")
#Result:
# 000
# 001
その他の初期化方法
以下のように記述しても初期化できますが、注意が必要です(後述します)。SizeX = 3
SizeY = 2
data2 = [[0]*SizeX]*SizeY
注意点としてはこの記述方法では同じメモリ領域の配列を並べた2次元配列となることです。同じメモリ領域の配列なので、要素に値を代入したときに他の行にも同時に代入されます。
以下、サンプルコードです。
SizeX = 3
SizeY = 2
data2 = [[0]*SizeX]*SizeY
data2[1][2] = 1
for y in range(0, SizeY):
for x in range(0, SizeX):
print(data2[y][x], end="")
print("")
#Result:
# 001
# 001
[1][2]のみに値を代入しているように見えますが、実際は[0][2]にも値が代入されてしまっていることがわかります。