appendとは?
Pythonのappendとは、リスト(list)と呼ばれるデータ構造の末尾に、新しい要素を一つ追加するためのメソッドです。メソッドとは、特定のデータ型が持つ機能のことで、リスト名.append(追加したい値) という形で呼び出します。
Pythonにおけるリストとは、複数の値をまとめて管理できる入れ物のようなものです。たとえば買い物リストや動物の名前の一覧など、複数のデータを順番に並べて扱いたいときに利用します。
appendを使うと、そのリストの一番後ろに新しいデータを付け加えることができます。追加できる値の種類に制限はなく、数値、文字列、別のリスト、さらにはNoneや真偽値(True/False)など、Pythonで扱えるあらゆるデータを追加できます。
操作後のリストは元のリストそのものが書き換えられる点が特徴で、新しいリストが生成されるわけではありません。このような動作を「インプレース(in-place)での変更」と呼びます。また、appendの戻り値はNoneです。戻り値を変数に代入しても、リストは取得できないため注意が必要です。
データを動的に(プログラムの実行中に)追加していくケースでは、appendは基本的で扱いやすい手段となります。Pythonでリストを扱ううえで、基本的な操作の一つとして覚えておきましょう。
【関連】
Pythonをもっと詳しく学ぶならpaizaラーニング
基本構文
appendの基本構文は以下の通りです。
括弧の中には、リストに追加したい値を一つだけ指定します。複数の値を同時に追加することはできません。複数追加したい場合はextendメソッドや別の手法を用います。
以下に基本的なコード例を示します。まずは文字列と数値をそれぞれリストに追加するシンプルな例です。
例1:文字列を追加する
出力結果
['イヌ', 'ネコ', 'ウサギ']animals という名前のリストに、append を使って「ウサギ」を末尾に追加しています。元のリストに含まれていた「イヌ」「ネコ」はそのまま残り、末尾に新しい要素が加わっていることが確認できます。
例2:数値を追加する
出力結果
[10, 20, 30, 40]数値のリストに対しても同様の操作が行えます。scores.append(40) によって、末尾に40が追加されました。
例3:リストそのものを要素として追加する
出力結果
[['イヌ', 'ネコ'], ['トリ', 'サカナ'], ['カメ', 'カエル']]appendにはリスト自体を渡すこともできます。この場合、渡したリスト全体が一つの要素として末尾に追加されます。このように、リストの要素として別のリストを含む構造が、「ネストされたリスト(入れ子のリスト)」です。append()を使うと、リストの中に別のリストを追加できます。
実用例
ここからは、実際のプログラミング場面でappendがどのように使われるかをコード例とともに説明します。各例では具体的なシナリオを想定しており、appendの理解をより深めることを目的としています。
空のリストに要素を追加する
空のリストを用意し、そこに要素を一つずつ追加する方法は、データを動的に収集したいときの基本パターンです。
空のリストを作成し、動物の名前を一つずつappendで追加しています。実際のアプリケーションでは、ユーザーの入力やファイルの読み込み結果をこの形で順次格納する場面が多くあります。
出力結果
['イヌ', 'ネコ', 'ウサギ']まず animals = [] で空のリストを作成し、その後3回appendを呼び出すことで要素を追加しています。最終的にリストには3つの動物名が格納されています。append()は必要な回数だけ繰り返し呼び出すことができ、呼び出した順番に要素がリストの末尾へ追加されるのが特徴です。あらかじめ追加するデータの数が決まっていない場合など、データを順番に収集する場面でも利用されます。
for文と組み合わせてリストを作成する
for文とappendを組み合わせることで、一定の規則に従ったリストを自動的に生成できます。
別のリストの要素を取り出して、新しいリストを作るパターンです。元のデータから加工済みのデータセットを構築するときに役立ちます。
出力結果
['イヌ', 'ネコ', 'トリ', 'サカナ', 'ウマ']animal_names リストの要素を一つずつ name に取り出し、それを selected リストにappendしています。このように、for文と組み合わせることでリスト全体を新しいリストへコピーしたり、後述するように条件でフィルタリングしたりする処理を記述できます。
繰り返し処理とappendの組み合わせは、Pythonでリストを作成する際によく使われるパターンの一つです。
条件に合った要素だけをリストに追加する
if文とappendを組み合わせると、条件を満たす要素だけを選別してリストに追加できます。
動物の体重データから、一定の条件を満たすものだけを抽出して新しいリストを作成する例です。
出力結果
[30.0, 500.0, 200.0]weights リストの各要素に対し、10.0以上の値のときだけappendを実行しています。if weight >= 10.0: という条件式によってフィルタリングが行われ、条件を満たさない要素は新しいリストに追加されません。このパターンは「フィルタリング」と呼ばれ、データを選別して処理する場面で広く活用されます。
ネストされたリストに要素を追加する
リストの中にリストが格納されているネスト構造に対してもappendは有効です。新しいリストを一つの要素として追加することで、階層的なデータを管理できます。
動物ごとの記録データを二次元リストで管理し、新しい記録を追加する例です。
出力結果
[['イヌ', 5], ['ネコ', 3], ['ウサギ', 2]]records は各動物の名前と飼育年数をペアとして持つリストです。appendに ["ウサギ", 2] というリストを渡すことで、新しいレコードを末尾に追加しています。appendに渡したリストは一つの要素として扱われるため、リスト全体がそのままネスト構造の末尾に組み込まれます。このように、appendはリストを丸ごと要素として追加できる点が特徴です。
複数のリストを一つにまとめる
二つ以上のリストの内容を、for文とappendを使って一つのリストに結合する方法です。
動物の種類別リストをまとめて一つのリストにする例です。
出力結果
['イヌ', 'ネコ', 'ウマ', 'スズメ', 'ハト']2つの別々のリスト(mammals と birds)を順番にループ処理し、それぞれの要素を all_animals にappendしています。各要素が個別に追加されるため、最終的にはフラットな(階層のない)リストが完成します。appendを使って複数のリストを統合する場合、追加した順番通りに要素が並ぶことを覚えておきましょう。
appendの戻り値(None)を確認する
append() メソッドはリストに要素を追加するだけでなく、戻り値が None になるという特徴があります。ここでは、append() の結果を変数に代入し、実際にどのような値が返されるのかを確認してみましょう。
以下は、リストに新しい動物を追加し、その戻り値を変数に保存する例です。
出力結果
リスト: ['イヌ', 'ネコ', 'ウサギ']
append()の戻り値: Noneanimals.append("ウサギ") によって、「ウサギ」はリストの末尾に追加されています。一方、append() を実行した結果を result に代入すると、その値は None です。
こうなる理由は、append() が新しいリストを返すメソッドではなく、元のリストそのものを変更するメソッドだからです。
append() を使用するときは、「リストを変更する処理」と「戻り値を受け取る処理」を分けて考えることが重要です。append() の戻り値が None であることを理解しておくと、リスト操作の際、意図しない挙動を防げます。
辞書をリストに追加してデータを蓄積する
append() は文字列や数値だけでなく、dict(辞書)も一つの要素としてリストに追加できます。辞書を使うと名前の他に、価格や種類など複数の情報を関連付けて管理できるため、実際のデータ処理に役立ちます。
以下は、商品名と価格を辞書で管理し、リストに追加する例です。
出力結果
[{'name': 'ノート', 'price': 300}, {'name': 'ペン', 'price': 150}] products は最初は空のリストですが、append() を使って商品情報を格納した辞書を追加しています。
重要なのは、辞書の中にある name や price がリストの要素として個別に追加されるのではなく、辞書のデータが一つのまとまりとして追加される点です。
このようなデータ構造にしておくと、商品情報やユーザー情報、データベースから取得したレコードなど、複数の項目を持つデータをまとめて管理する際に便利です。
append() は辞書のようなオブジェクトを含め、さまざまなデータ型に対応します。これを理解しておくと、より実践的なリスト操作に役立ちます。
まとめ
ここまで、Pythonのappendメソッドについて、基本的な概念から実際のコード例まで幅広く解説してきました。appendはPythonのリスト操作において重要な機能であり、初めてプログラミングを学ぶ方にとっても比較的取り組みやすいメソッドです。
appendが活躍する場面
- データの動的な収集:プログラムの実行中に得たデータを順番に蓄積する
- フィルタリング処理:条件に合う要素だけを新しいリストへ追加する
- ループとの連携:繰り返し処理の結果をリストへ順次追加する
重要なポイント
- 末尾への追加:append()は常にリストの末尾へ要素を追加する
- 戻り値はNone:append()の戻り値はNoneで、リスト自体は返さない
- 追加する要素は1つ:複数の要素を追加するときはextend()などを使用する
append()は、リストに要素を順番に追加する処理を簡潔に記述できるメソッドです。特に、空のリストとappend()を組み合わせてデータを順番に追加する方法は、基本的なリスト操作の一つです。まずは記事で紹介したコードを実際に実行し、append()の動作を確認してみましょう。