このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】リストの使い方

リストの使い方

 リストは、Pythonにおける基本的かつ非常に柔軟なデータ構造の一つです。複数のデータを一つにまとめて管理・操作するために広く利用されており、プログラムの効率性と可読性を大幅に向上させます。ここでは、リストの基本的な概念から具体的な作成方法、実用的な例までを体系的に解説します。リストを正しく理解し活用することで、データ管理や処理がより効果的に行えるようになります。

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.複数のデータを格納するリスト

 プログラムでは、しばしば複数の関連データを一括して管理する必要があります。これらのデータを個別に扱うのは煩雑ですが、リストを使用することで効率的に管理できます。リストに格納された各データは要素と呼ばれ、インデックスを用いてアクセスします。Pythonにおけるリストの主な特徴は以下の通りです。

  • シーケンス型: リストは順序を保持するデータ構造であり、インデックスやスライスを使用して要素にアクセスできます。
  • ミュータブル: リストは変更可能であり、要素の追加、削除、変更が容易に行えます。

 リストは多用途に利用でき、例えば、学生の成績リスト、商品の在庫リスト、プロジェクトのタスク一覧、ファイル名のリストなど、さまざまな種類のデータを格納することができます。データ構造の選択に迷った際には、まずリストを検討するのが一般的です。

 ただし、特定の用途には他のデータ構造が適している場合もあります。例えば、要素の変更が不要な固定データには「タプル」、高速な検索が必要な場合には「集合」や「辞書」がおすすめです。これらのデータ構造については、この章の後ほどのコンテンツで詳しく解説します。

1.1. リストの利用方法

 リストは、関連するデータを一つにまとめて管理するために使用されます。例えば、複数の学生の名前や複数の商品の在庫数などを一つのリストにまとめることで、データの操作や管理が簡単になります。リストを利用する主な利点は以下の通りです。

  • 簡単なデータ操作: 要素の追加、削除、変更が直感的に行える。
  • 順序付けられたデータ管理: データに順序があるため、特定の位置にある要素を簡単に取得できる。
  • 柔軟なデータ型の格納: 同一リスト内に異なるデータ型の要素を混在させることが可能。

1.2. リストの特性

 リストはその特性により、さまざまな場面で効果的に活用できます。以下の表にリストの主要な特性をまとめます。

特性説明
順序性リスト内の要素には順序があり、インデックスを使用して特定の要素にアクセスできる。
ミュータブルリストは変更可能であり、要素の追加、削除、変更が簡単に行える。
多様なデータ型リストには異なるデータ型の要素を同一リスト内に格納できる。
ネスト可能リストの中にリストを格納することで、多次元データの管理が可能。

 これらの特性により、リストはデータの柔軟な管理と操作を可能にし、さまざまなプログラミングタスクに対応します。

2.リストは角括弧で作成する

 リストを作成する際には、[](角括弧)を使用し、格納する値をカンマ(,)で区切って並べます。リストは変数に代入することで、後からそのリストを操作することが可能です。また、空のリストを作成することもできます。

2.1. リストの作成方法

以下の表は、リストの作成方法をまとめたものです。

リストの作成方法構文説明
複数の要素を持つリスト[値1, 値2, ...]複数の要素を持つリストを作成する。
単一の要素を持つリスト[値1]単一の要素を持つリストを作成する。
空のリスト[]要素が一つもないリストを作成する。
変数にリストを代入する方法変数 = [値1, 値2, ...]作成したリストを変数に代入して後で利用する。

2.2. リストの作成例

例1:車のモデルリストを作成

 例えば、異なる車のモデルとして'Toyota''Honda''Ford'の3種類をリストで管理してみましょう。

サンプルプログラム

# 車のモデルリストを作成
car_models = ['Toyota', 'Honda', 'Ford']
print(car_models)  # 出力: ['Toyota', 'Honda', 'Ford']

出力結果

['Toyota', 'Honda', 'Ford']

例2:異なる型のデータを格納するリスト

 リストには、同じ型のデータだけでなく、異なる型のデータを混在させることも可能です。例えば、文字列、整数、浮動小数点数を格納したリストを作成してみましょう。

サンプルプログラム

# 異なる型のデータを格納したリスト
mixed_data = ['hello', 42, 3.14]
print(mixed_data)  # 出力: ['hello', 42, 3.14]

出力結果

['hello', 42, 3.14]

3.list()関数を使う

 リストを作成する方法は角括弧を使用するだけではありません。list()関数を利用することで、イテラブル(繰り返し可能なオブジェクト)からリストを生成することができます。list()はクラスとしても扱われますが、ここではリストオブジェクトの生成方法として理解してください。

3.1. イテラブルからリストを作成

例1:1から5までの整数をリストに格納

range()関数とlist()関数を組み合わせることで、簡単に1から5までの整数のリストを作成できます。

サンプルプログラム

# 1から5までの整数をリストに格納
numbers = list(range(1, 6))
print(numbers)  # 出力: [1, 2, 3, 4, 5]

出力結果

[1, 2, 3, 4, 5]

例2:'Python'の文字をリストに格納

 文字列もイテラブル(繰り返し可能なオブジェクト)の一種なので、list()関数を使用して各文字をリストの要素として格納できます。

サンプルプログラム

# 'Python'の文字をリストに格納
characters = list('Python')
print(characters)  # 出力: ['P', 'y', 't', 'o', 'n']

出力結果

['P', 'y', 't', 'h', 'o', 'n']

まとめ

以下の表に、ここで解説した「リストの使い方」に関する主要なポイントをまとめます。

項目説明
複数のデータを格納するリストリストはシーケンス型でインデックスやスライスが使え、ミュータブルで要素の変更・追加・削除が可能。
リストは角括弧で作成する[](角括弧)内に値をカンマで区切って並べる。変数に代入して利用することも可能。
リストの作成方法複数の要素の場合 [値1, 値2, ...]、単一の場合 [値1]、空の場合 []。変数に代入する場合 変数 = [値, ...]
リストの作成例車のモデルリストや異なる型のデータを格納したリストの例を示した。
list()関数を使うイテラブルからリストを作成する方法。例としてrange()関数とlist()関数、文字列からリストを作成する方法を解説。

 次のコンテンツでは、インデックスとスライスをリストに使う方法について詳しく解説していきます。インデックスを活用してリストの要素にアクセスし、スライスを用いて部分的にデータを抽出する方法を学びます。

リストの基本的な使い方を理解し、さらにリストを活用した高度な操作方法を習得しましょう。