【Python】append()メソッドを使ってリストや配列に要素を追加する!

リスト等に要素を追加したい場合はappend()メソッドを使用します。
append()メソッドとはリスト等の複数のデータが集まった型に要素を追加することができます。

今回はappend()の以下の内容について解説します。
append()の書き方
append()の基本的な使い方
insert()やextend()との違い

append()とは

先ほども言いましたが、append()とはリストに要素を追加するためのメソッドです。
リストの末尾に単一の要素を追加し、元のリストを変更します。
そして、append()を実行した際、リストの要素数が1つ増加します。

append()の書き方

append()の構文は下記となります。

appendの()に追加したい要素を指定することでリストの末尾に要素を追加することができます。

append()関数を使ったサンプルコード

出力結果

[1, 2, 3, 4, 5]
[‘あ’, ‘い’, ‘う’, ‘え’, ‘お’]

それぞれのリストに追加したい要素を追加することができました。
しかし、複数の要素を一度に追加することはできない/span>ので注意してください

append()関数の基本的な使い方

文字列を追加する

文字列を追加します。
文字列を追加するにはappendの()に文字列を”(ダブルクォーテーション)か'(シングルクォーテーション)で囲み、指定することで追加することができます。

出力結果

[‘鈴木’, ‘田中’, ‘木村’, ‘中村’, ‘中田’]

数値を追加する

数値を追加します。
数値を追加するにはappendの()に数字を指定することで追加することができます。
文字列のように”(ダブルクォーテーション)や'(シングルクォーテーション)で囲む必要はありません。

出力結果

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

別のリストを追加する

別のリストを要素として追加することもできます。
append()の()に追加したいリスト名を指定します。

出力結果

[1, 2, 3, 4, 5, [20, 30, 50, 60]]
[‘鈴木’, ‘田中’, ‘木村’, ‘中村’, [‘中田’, ‘松本’, ‘斎藤’, ‘山本’]]

異なる型を同じリストに追加

文字列、数値などの異なる型の要素を同じリストに追加することがきます。

例1

出力結果

[1, 2, 3, 4, 5, ‘田中’]
[‘鈴木’, ‘田中’, ‘木村’, ‘中村’, 1000]

また、異なる型が入ったリストを要素としてリストに追加することも可能です。

例2

出力結果

[‘鈴木’, ‘田中’, ‘木村’, ‘中村’, [1, 2, 3, 4, 5, ‘田中’]]

for文を使ってインデックスをリストに追加する

またfor文とrange()関数を使ってリストにインデックスを追加することもできます。

出力結果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

append()とinsert()との違い

append()は、これまで説明したように末尾に要素を追加します。
しかし、insert()では指定の位置に要素を追加することができます。

つまり、リストなどの末尾に要素を追加する場合はappend()、要素の追加する位置を指定したい場合はinsert()を使用します。

append()を使った例

出力結果

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

insert()を使った例

出力結果

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

append()とextend()の違い

append()はリストの中に要素を追加してきました。
しかし、extend()はリストを結合するメソッドになります。

何が違うのかよくわからないと思いますのでコードを見ていきましょう。

append()を使った例

出力結果

[1, 2, 3, 4, 5, 6, [8, 9, 10]]

リストをappend()を使って追加すると、リストが要素としてリストに追加されるようになります。

次は、extend()を使用します。

extend()を使った例

出力結果

[1, 2, 3, 4, 5, 6, 8, 9, 10]

このように、リストの要素だけを追加することができます。
つまり、リストの中にリストごと追加する場合はappend()、リストの要素だけを追加し、結合する場合はextend()を使用します。

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し