【Python】2次元リストの使い方(初期化/追加/参照など)を詳しく解説

Pythonプログラミングを学ぶ上で、2次元リストは非常に重要な概念です。

2次元リストは、リストの中にリストが入っているデータ構造で、表形式のデータを扱う際に便利です。

この記事では、2次元リストの使い方を初心者向けにわかりやすく解説します。

目次から探す

2次元リストとは

2次元リストとは、リストの中にリストが入っているデータ構造のことを指します。

Pythonでは、リストを使って簡単に2次元リストを作成・操作することができます。

2次元リストは、表形式のデータや行列などを表現するのに便利です。

2次元リストの定義

2次元リストは、リストの中にリストが入っている形で定義されます。

以下のように、リストの要素としてリストを記述することで、2次元リストを定義できます。

2次元リスト = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

この例では、3×3の2次元リストが定義されています。

リストの中には3つのリストがあり、それぞれのリストには3つの要素が入っています。

2次元リストの特徴

2次元リストは、以下のような特徴があります。

特徴説明
行と列でデータを表現できる2次元リストは、表形式のデータや行列を表現するのに適しています。
参照・更新が容易2次元リストの要素にアクセスするには、インデックスを2つ指定するだけです。
可変長Pythonのリストは可変長であるため、2次元リストも行や列の長さを後から変更することができます。
ネストしたリスト2次元リストは、リストの中にリストが入っている形で表現されるため、リストの操作方法を応用して2次元リストを操作することができます。

これらの特徴を活かして、2次元リストを使って様々なデータ処理を行うことができます。

次の章では、2次元リストの初期化や追加、参照などの具体的な使い方を解説していきます。

2次元リストの初期化

2次元リストを作成する際には、まず初期化が必要です。

初期化とは、リストの要素を設定して、リストを作成することです。

ここでは、リスト内包表記、forループ、numpyを使った初期化方法を紹介します。

リスト内包表記を使った初期化

リスト内包表記は、リストを簡潔に生成するためのPythonの機能です。

2次元リストの初期化にも使うことができます。

以下の例では、3行4列の2次元リストを0で初期化しています。

rows = 3
cols = 4
matrix = [[0 for _ in range(cols)] for _ in range(rows)]
print(matrix)
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

少し癖のある書き方であるため、書き方になれない場合はこの次のforループを使った初期化やNumPyを使った方法がおすすめです。

forループを使った初期化

forループを使って2次元リストを初期化することもできます。

以下の例では、3行4列の2次元リストを0で初期化しています。

rows = 3
cols = 4
matrix = []

for _ in range(rows):
    row = []
    for _ in range(cols):
        row.append(0)
    matrix.append(row)

print(matrix)
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

numpyを使った初期化

numpyは、数値計算を効率的に行うためのPythonのライブラリです。

numpyを使って2次元リスト(numpyでは配列と呼びます)を初期化することもできます。

以下の例では、3行4列の2次元配列を0で初期化しています。

まずは、numpyをPythonをインストールしただけでは使えないので、以下のコマンドを実行してインストールしましょう。

pip install numpy

次に、以下のコードで2次元配列を初期化します。

import numpy as np

rows = 3
cols = 4
matrix = np.zeros((rows, cols), dtype=int)
print(matrix)
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]

これらの方法を使って、2次元リストを初期化することができます。

初期化方法は、状況や好みに応じて選択してください。

1 2 3 4 5 6

目次から探す