配列処理

[Python] appendの正しい使い方(具体例あり)

今回は、Pythonのappendの正しい使い方についてご紹介します。

appendメソッドとは

Pythonのリストに新しい要素を末尾に追加するためのメソッドが、appendメソッドです。

appendメソッドの特徴は以下のとおりです。

  • 1つの要素を末尾に追加する
  • リストを破壊的に変更する(新しいリストを返さない)
  • 引数として渡したオブジェクトを参照として保持する

appendを呼び出すと、元のリストの最後に指定した要素が追加されます。

appendの基本的な使い方

appendメソッドの基本構文は以下のとおりです。

リスト自体を変更することに注意してください。

数値や文字列の追加例

まずは基本となる数値や文字列を追加する例です。

実行結果
[1, 2, 3, 4]

文字列でも同様に末尾へ追加されます。

実行結果

[‘apple’, ‘banana’, ‘cherry’]

リストや他のオブジェクトを追加する例

appendは1つのオブジェクトをリストに加える仕組みです。

そのため、リストを追加すると入れ子構造になります。

実行結果

[1, 2, 3, [4, 5]]

複数要素をフラットに追加したいときは、extendメソッドなどを使います。

実行結果
[1, 2, 3, 4, 5]

appendのよくあるエラーと対処法

appendメソッドの呼び出し時に発生しがちなエラーと、原因・対策例を紹介します。

  • AttributeError: ‘int’ object has no attribute ‘append’

このエラーは、リストではなく整数や文字列などに対してappendを呼び出そうとしたときに起こります。

appendはリストのメソッドなので、リスト以外のオブジェクトには使用できません。

解決策としては、appendを使いたい対象がきちんとリスト型になっているか確認し、もしリストでなければ型を見直す必要があります。

  • TypeError(引数の型が正しくない場合 など)

appendの引数には任意のオブジェクトを渡せますが、リストの構造を意図しない形で変更してしまうと、その後の処理で型エラーが出るケースがあります。

引数のデータが想定どおりの型かをチェックするのが重要です。

appendを活用した応用例

ループでの動的リスト生成

特定の処理結果を順次リストにため込むときに、appendは有用です。

実行結果
[1, 4, 9, 16, 25]

このようにループの中でappendを呼び出すことで、リストを動的に拡張することができます。

オブジェクト参照の注意点

appendで追加する要素は参照渡しとなるため、同じオブジェクトを共有している場合は変更内容が影響を及ぼす点に注意します。

実行結果
[1, 2, 3]

bはaと同じリストを指しているため、aの変更がbにも反映されます。

まとめ

appendメソッドは、リスト末尾に要素を追加する簡単かつ強力な手段です。

破壊的変更であることや参照渡しの特徴に留意しながら、目的に応じてextendなどのメソッドと使い分けることが大切です。

appendの仕組みを理解することで、より柔軟なリスト操作が可能になります。