Pythonの多次元リスト(ネストされたリスト)の作成と操作方法
リストはPythonで最も広く使われているデータ構造の一つです。カンマで区切られた複数の要素を格納できますが、リストの中にさらにリストを入れることも可能です。このような構造は「ネストされたリスト」または「多次元リスト」と呼ばれます。本記事では、多次元リストの作成方法、要素へのアクセス方法、そして拡張方法について詳しく解説します。
多次元リストの作成
多次元リストは、内包表記を使うことで簡潔に作成できます。以下の例では、ネストしたforループ(リスト内包表記)を用いて、3行4列の多次元リストを生成しています。
コード例
multlist = [[0 for columns in range(4)] for rows in range(3)] print(multlist)
実行結果
上記のコードを実行すると、次の出力が得られます。
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
多次元リストの拡張
作成済みの多次元リストには、リストが持つメソッドを使って要素を追加できます。ここでは「append」と「extend」の2つのメソッドを使用します。両者の違いに注目してください。appendはリスト全体を1つの要素として追加するのに対し、extendは指定したリストの各要素を個別に追加します。
コード例
multlist = [["Mon","Tue","Wed"], [2, 4, 9], [1,1.5, 2]] multlist.append(["Phy","Chem","Math"]) print(multlist) multlist[0].extend(["Thu","Fri"]) print(multlist)
実行結果
上記のコードを実行すると、次の出力が得られます。
[['Mon', 'Tue', 'Wed'], [2, 4, 9], [1, 1.5, 2], ['Phy', 'Chem', 'Math']] [['Mon', 'Tue', 'Wed', 'Thu', 'Fri'], [2, 4, 9], [1, 1.5, 2], ['Phy', 'Chem', 'Math']]
最初のappendでは、新しいサブリスト["Phy", "Chem", "Math"]が外側のリストに丸ごと追加されています。一方、extendではインデックス0のサブリストに対して「Thu」「Fri」が個別の要素として追加され、元のサブリストが拡張されていることがわかります。
多次元リストの要素へのアクセス
多次元リストの全要素にアクセスするには、ネストしたforループを使用します。外側のループで行(サブリスト)を順に取り出し、内側のループでその行の各列(要素)にアクセスします。
コード例
multlist = [[1,5,9], [2, 4, 9], [1,1, 2]]
for i in range(len(multlist)) :
for j in range(len(multlist[i])) :
print(multlist[i][j], end=" ")
print()
実行結果
上記のコードを実行すると、次のように各行が1行ずつ表示されます。
1 5 9 2 4 9 1 1 2
まとめ
Pythonの多次元リストは、リスト内包表記で簡単に作成でき、appendやextendメソッドで柔軟に拡張できます。また、ネストしたforループを使えば、行と列を意識しながらすべての要素へ効率的にアクセス可能です。これらの基本操作をマスターすれば、表形式データや行列のようなデータ構造も自在に扱えるようになります。
-
Pythonでリストを定義する方法とは?基本の書き方を初心者向けに解説
リスト(List)は、Pythonにおける基本的なシーケンス型データ構造の一つです。複数の要素を角括弧 [ ] で囲み、カンマで区切って表現します。各要素は文字列や数値など異なるデータ型が混在していても問題ありません。また、リストは順序付き(ordered)コレクションであるため、格納した要素の並び順は保持されます。個々の要素には、0から始まるインデックスを使ってアクセスできます。たとえば最初の要素はインデックス 0、2番目の要素は 1 で参照します。リストの定義例list1 = [physics, chemistry, 1997, 2000] list2 = [1, 2, 3, 4, 5]
-
Pythonリスト入門:作成から操作、削除まで徹底解説
このチュートリアルでは、Pythonのリスト(List)について学びます。リストの作成方法、要素へのアクセス、要素の追加・削除、リスト自体の削除など、基本的な操作を一つずつ丁寧に解説していきます。 Pythonでは、リストは角括弧 [] を使って構築し、各要素はカンマ , で区切って記述します。 Pythonのリストは、異なる型のオブジェクトを混在させて格納できるのが特徴です。すべて文字列である必要も、整数である必要もありません。例えば、以下のように複数の型が混ざったリストを作成できます。mixedTypesList = [a, True, 1, 1.0] リストの作成方法 リストは、角括弧