2次元リストを拡張すれば3次元以上のリストも利用できます.3次元リストは [[[],[]], [[],[]]]
のように作成できます.
a3 = [[[0,1,2],[3,4,5],[6,7,8]], [[10,11,12],[13,14,15],[16,17,18]],[[20,21,22],[23,24,25],[26,27,28]],[[29,30,31],[32,33,34],[35,36,37]]]
a3
[[[0, 1, 2], [3, 4, 5], [6, 7, 8]], [[10, 11, 12], [13, 14, 15], [16, 17, 18]], [[20, 21, 22], [23, 24, 25], [26, 27, 28]], [[29, 30, 31], [32, 33, 34], [35, 36, 37]]]
リストのサイズを取得してみよう.
len(a3)
4
len(a3[0])
3
インデックスを使用して要素を抽出する方法は次の通り.
a3[0]
[[0, 1, 2], [3, 4, 5], [6, 7, 8]]
a3[0][1]
[3, 4, 5]
a3[0][1][2]
5
a3[1][2][0]
16
3次元リストの初期化は内包表記を入れ子で利用すると可能です.
b3 = [[[0] * 3 for i in range(4)] for j in range(5)]
b3
[[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]]