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次元リストを初期化することができます。
初期化方法は、状況や好みに応じて選択してください。