3次元の表
多次元(3次元)の配列が必要になったので、初期化と参照の方法を確認。
2次元表の中の1枠をcellとみなして、cellの中にも1次元の配列があるイメージ。
コード
import itertools print("3次元の配列") dim_row =2 # row dim_col =3 # col dim_cell =4 # cell # ゼロ初期化 list_3d =[[[0 for z in range(dim_cell)] for y in range(dim_col)] for x in range(dim_row)] print("\nlist_3d[0][1][2]=1") list_3d[0][1][2]=1 print("\n単純にprint") print(list_3d) print("\n行を取り出してprint") for i in list_3d: print(i) print("\n行を、フラットな配列に変換") for i in list_3d: print(list(itertools.chain.from_iterable(i)))
実行結果
3次元の配列 list_3d[0][1][2]=1 単純にprint [[[0, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]] 行を取り出してprint [[0, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 0]] [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] 行を、フラットな配列に変換 [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]