Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでn×nのマトリックス(行列)を作成する方法

Pythonでn×nの正方行列(マトリックス)を作成する必要がある場合、リスト内包表記を使うと簡潔かつ効率的に実装できます。本記事では、具体的なサンプルコードとその出力結果、さらに内部の動作についてわかりやすく解説します。

サンプルコード

以下は、リスト内包表記を用いてn×nのマトリックスを作成する実際のコード例です。

N = 4
print("Nの値は:")
print(N)

my_result = [list(range(1 + N * i, 1 + N * (i + 1)))
    for i in range(N)]

print("N × N のマトリックスは:")
print(my_result)

出力結果

Nの値は:
4
N × N のマトリックスは:
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

コードの解説

  • 変数Nには、あらかじめ行列のサイズとなる値「4」が定義されています。

  • この値はコンソールに出力され、作成するマトリックスの次元を示します。

  • リスト内包表記の中でrange(N)によりインデックスiが0からN-1まで反復処理されます。

  • range(1 + N * i, 1 + N * (i + 1))によって、各行に連続するN個の数値が割り当てられます。

  • 各行はlist()でリストに変換され、変数my_resultに格納されます。

  • 最終的に、完成したn×nのマトリックスがコンソールに表示されます。

動作のポイント

この手法では、外側のリスト内包表記が「行」を、内側のrange()が「列」に対応する値を生成します。例えばi=0の場合は「1」から「4」までが最初の行になり、i=1の場合は「5」から「8」までが2行目になります。このようにして、1から始まる連続した整数で構成されるn×nの行列を簡単に作成できます。

NumPyなどの外部ライブラリを使わず、標準のPython機能だけで実装できるため、軽量なスクリプトや学習用途に最適です。行列のサイズを変更したい場合は、変数Nの値を変更するだけで柔軟に対応できます。

  1. Pythonで2つの行列を加算するプログラム

    この記事では、ユーザーが入力した2つの行列を受け取り、その合計(加算結果)を表示するPythonプログラムを紹介します。行列の加算では、ネストされたリスト内包表記や二重ループを活用することで、各要素を効率的に処理できます。 アルゴリズム 処理の手順は以下の通りです。 ステップ1:2つの行列を入力する。 ステップ2:ネストされたforループを使って、各行・各列を順番に走査する。 ステップ3:各イテレーションで、2つの行列の対応する要素同士を加算し、その結果を格納する。 サンプルコード 以下は、ネストされたループを使用して2つの行列を加算するプログラムです。まず1つ目の行列Aの要素を入力し、続

  2. 2つの行列を乗算するPythonプログラム

    ユーザーが入力した2つの行列を受け取り、その積(乗算結果)を表示するのがこのプログラムの目的です。ここでは、ネストされたリスト(2次元リスト)を使って行列を表現します。 行列の乗算では、「1つ目の行列の行の要素」と「2つ目の行列の列の要素」をそれぞれ掛け合わせ、その合計値を結果行列の要素とします。つまり、結果行列の i 行 j 列の値は、行列Aの i 行目と行列Bの j 列目の対応する要素同士の積の総和になります。 アルゴリズム ステップ1:2つの行列を入力する。 ステップ2:ネストされたforループで、各行・各列を順番に走査する。 ステップ3:すべての要素が0で初期化された結果用行列を用