多次元配列

Pythonでは2次元配列以上の配列(リスト)も扱うことができます。1次元配列、2次元配列の定義は以下のような形でした。

week = [0 for i in range(7)]                        # 1次元配列の初期化
month = [[0 for i in range(7)] for j in range(5)]   # 2次元配列の初期化

3次元配列も同様に定義することができます。

year = [[[0 for i in range(7)] for j in range(5)] for k in range(12)]   # 3次元配列の初期化

以下は、3次元配列をランダムな 0 ~ 9 の値で初期化し、配列内要素の値を出力するプログラムです。

import random

year = [[[random.randint(0, 9) for i in range(7)] for j in range(5)] for k in range(12)]

for month in year:
    for week in month:
        for day in week:
            print(day, end = " ")
        print()
    print()

# 7 9 6 5 5 7 1
# 2 2 1 5 9 4 0
# 7 5 4 5 9 7 3
# 2 5 2 0 4 0 8
# 3 2 8 3 2 6 6
#
# 0 5 4 5 7 8 1
# 3 1 5 3 0 5 0
# 2 6 0 7 5 3 5
# 4 2 9 3 6 7 2
# 3 8 1 1 4 7 2
#
#      .
#      .
#      .
#
# 4 2 6 1 7 6 9
# 3 4 2 6 6 0 9
# 1 7 4 8 0 5 8
# 8 1 8 7 4 2 5
# 0 1 1 4 8 8 8

Reference

 

オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)

AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。