メインコンテンツまでスキップ

多次元配列

二次元配列

前項では生徒の数学の点数のみについて考えましたが、生徒の全教科の点数について考えたら、どうなるでしょう。

A、B、C の 3 人の生徒がいて、それぞれの国語、数学、英語の点数が次のようになっているとします。

国語数学英語
A837532
B735384
C634864

前項の内容を使って、点数の合計を計算してみましょう。

Open In Colab

一応できましたが、生徒の人数が増えてしまうと大変ですし、生徒の人数が変わるごとにプログラムを書き直さないといけません。

ここで、二次元配列を使います。二次元配列は名前の通り配列が二次元となったもので、配列の配列です。数学における行列と同じようなものです。

二次元配列の説明

上のプログラムを二次元配列を使って記述すると、次のようになります。

Open In Colab

二次元配列を作るときは、配列の要素を配列にすれば作ることができます。

配列名 = [第一行の配列, 第二行の配列, 第三行の配列, ..., 第i行の配列]

ii 行、jj 列の数字を取り出すには、次のようにします。

配列名[i][j]

練習問題

全教科の点数の合計点の最高点を求める関数を求めてください。

A、B、C の 3 人の生徒がいて、それぞれの国語、数学、英語の点数は次のようになっています。

国語数学英語
A837532
B735384
C634864
ヒント

まずそれぞれの生徒の得点の合計を求める関数を作ってから、その最高点を求める関数を作ると良いでしょう。

解答
Open In Colab

三次元配列

二次元配列をさらに発展させて、三次元配列を考えることもできます。

例えば、1 組に A と B が所属していて、2 組に C と D が所属しているとします。 その時、それぞれの生徒の国語と数学と英語の点数が次のように与えられたとします。

1 組

国語数学英語
A515610
B475258

2 組

国語数学英語
C249234
D284419

三次元配列を用いて、これの合計点を求めると次のようになります。

Open In Colab

練習問題

全教科の点数の合計点の最高点を求める関数を求めてください。

1 組に A と B が所属していて、2 組に C と D が所属しています。 その時、それぞれの生徒の国語と数学と英語の点数が次のように与えられています。

1 組

国語数学英語
A515610
B475258

2 組

国語数学英語
C249234
D284419
解答
Open In Colab

多次元配列

さらに発展させて、四次元配列、五次元配列、...を考えることもできます。