多次元配列を多重ループを回してアクセスするときの注意事項(戒め)

説明

多次元配列を多重ループを回してアクセスするとき多次元配列の定義とループを回す順番を合わせないと遅くなる件。
何度もやらかしてそのたびに反省しているのだが、ついついうっかりしてしまうので戒めのために記事にしておく

array = [[[0 for _ in range(A)] for _ in range(B)] for _ in range(C)]

# ダメな例
for i in range(A):
    for j in range(B):
        for k in range(C):
            array[k][j][i] = hogehoge

# 正しい例
for k in range(C):
    for j in range(B):
        for i in range(A):
            array[k][j][i] = hogehoge

回す回数が明らかに少ない次元を外側ループで回すようにすることも大事