Python append 使い方

python

【Python】appendの使い方のまとめ【基本から応用まで】

2020年3月16日

見習いエンジニア
Pythonのappnedメソッドについて詳しく知りたい
この様な方への記事になります。

 

Pythonの append はコードを記述する上でも頻出するメソッドです。Pythonを使う人は慣れておく必要がありますので、しっかり習得していきましょう。

 

今回はlist型 の append メソッドについてになります。

 

まず、list型(リスト)について確認しておきましょう。

list とは

list 型はシーケンス(配列)であり、データの追加、削除が可能な型のことです。

なお、シーケンスについては以下の記事を参考にして下さい。

関連記事
python シーケンス
【Python】文字列シーケンスについて

続きを見る

 

今回は、追加をするために必要なメソッドである append の説明になります。

 

では早速、見ていきましょう。

appendとは

Python append 使い方

append メソッドとは、リストにデータを追加するためのメソッドの1つです。

 

追加するメソッドは他に insertextend がありますので、後で説明いたします。

 

リストには数値、文字列、オブジェクト、関数等、なんでも追加することができます。

 

appendはリストの末尾に追加する

Python append 使い方

appendの使い方

Python append 使い方

append の書き方

appendのコードの書き方は下記になります。

 

append はメソッドなので、カッコ書をつけて、その中に追加対象を入れます。

In[]

 

appendの使い方の基本

では、早速使ってみましょう。まず、下記のように list_a を作ってください。

 

この list_a に対して、追加していきます。

In[]

Out[]

 

要素の追加

list_a は1,2,3,4ときているので、次に「5」を追加しましょう。

 

下記コードを実行してください。ちゃんと「5」が追加されていることが確認できます。

In[]

Out[]

ここでは数値を扱っていますが、文字列でも同様です。

 

リストに別のリストの要素を追加

次に list_b = [6, 7] を用意して、list_a に追加してみましょう。

 

下記コードを実行して確認してみてください。

In[]

Out[]

如何でしょうか。予想通りの結果になっているでしょうか?

 

append による末尾の追加は、なんでもそのまま追加します。

 

ですので今回は[6, 7]が追加されます。

Python append 使い方

では、[1,2,3,4,5,6,7]にするにはどうするのでしょうか?次で説明します。

 

リストに別のリストを結合

先ほど、リストにリストを append をすると、良くも悪くもそのまま末尾に追加されてしまいましたね。

 

リスト同士の結合は下記のようにします。動かしてみてください。

In[]

Out[]

[1,2,3,4,5,6,7]になりましたね。

 

こういう時は append  を使わないのです。append は末尾に対象をそのまま追加します。

 

ちなみに、補足になりますが、下記のようにリスト+数値はエラーが発生します。

In[]

Out[]

この様になりますが、下記のコードであればリスト同士になるので、エラーは出ません。

In[]

 

appendの使い方の応用

今まで、数値でしたが文字列なども取り扱ってみましょう。

 

違う型の追加

空の list_c を作って、文字列、数値を追加してみます。

 

空のリストlist_c = [] で作れます。

 

では、下記を実行してみてください。文字列、数値と違う型の値があってもリストに追加できるのが確認できます。

In[]

Out[]

もう少し、実用的に深掘りしてみましょう。

 

さらに、list_dに[‘猫’, ‘タマ’, 5] を作り、list_animallist_clist_d を追加してみましょう。

 

まず、list_d を作ってみましょう。下記コードですが、ご自身でも作ってみてください。

In[]

さらに、list_animal を作って、list_clist_d を追加します。

 

これは list_animal というリストに他のリストである list_clist_d を追加しています。

In[]

Out[]

如何でしょうか。動物リストができて、実用的になったと思います。

関数の追加

リストは関数でも入ってしまいます。試しに、足算をする関数をリストに入れて動かしてみましょう。

 

まず、足し算の関数を以下コードで宣言します。

In[]

次に、list_d[数値、数値、関数] のリストである、 [1, 1, func_add][1, 2, func_add] を追加してみます。

In[]

Out[]

関数である、func_add もしっかり追加されていますね。

 

では、最後にこれらを使って、足算して結果を出力するところまでしたいと思います。

 

下記コードを実行してみてください。

In[]

Out[]

ちゃんと足し算されていることがわかりますね。for文で list から取得している箇所を補足しておきます。

  1. for文でlist_dの中身を1つずつ取得する
  2. 取得されるのも[数値、数値、関数]とリストなので、a、b、funcに分けて取得
  3. printでa、bを表示しつつfunc_addであるfuncを実行して表示する

Python append 使い方

難易度が上がってしまいましたが、リストには関数も入るのだと覚えておいてください。

リストの要素を指定回数繰り返し、新しいリストの作成(内包表記)

リストに追加する時、append を使うという話をしてきましたが、内包表記と呼ばれる方法がよく使われる場合があります。

 

例えば、1,2,…10 までを list_f に追加する処理を考えましょう。まず、append を使った方法で動かしてみましょう。下記コードになるので、実行してみて下さい。

 

for i in range(10)  で0から9までのループ処理をさせて、追加しています。

In[]

Out[]

うまく動きましたね。実はこれは処理が遅くなるので、次に説明する内包表記が使われます。

 

書き方は次のようになります。

 

通常のfor文で取り出す、変数をfor文の前に追加して、[] で囲います。

In[]

実際に、先ほどの [1,2,…10]  をこの内包表記でコードを書いていきます。

Out[]

 

1行で実現できましたね。しかも、この方が処理が早いのです。なので、Pythonを使っているとこの表記には頻繁に出会います。

 

内包表記の説明は長くなるので、こう言った方法でリストに値が追加できるのだということを覚えておいてください。

appendとextend、insert、それぞれの違い

Python append 使い方

リストに追加する処理は append だけではありません、extendinsert があります。

 

その違いを改めて、list_a = [1, 2, 3, 4]list_b = [5, 6] を用意して確認していきましょう。

 

appendextend , insert には以下のような違いがあります。

Python append 使い方

extendの使い方

extend はリストとリストを結合します。

 

動作的には、「リストに別のリストを結合」で説明した、list_a + list_b と同じ動作になります。

In[]

Out[]

insertの使い方

insert は末尾ではなく、第1引数で追加の場所をリストの要素Noを指定します。

 

下記実行例では、1番目を指定しています。

*要素Noは0番目から始める点に注意。

In[]

Out[]

 

appendの練習問題

Python append 使い方

下記表を append を使って、リストに入れて、for文で順番に取り出して、print で表示してみてください。

商品価格
りんご100
オレンジ120
ぶどう500

回答例

回答例は下記になります。

In[]

Out[]

 

今回は以上となります。

 

 

関連記事 機械学習は挫折しやすい【挫折が多い原因と挫折回避の方法を教えます】

関連記事 無料あり:機械学習エンジニアの僕がおすすめするAI(機械学習)特化型プログラミングスクール3社


-python
-,

Copyright© Tommy blog  , 2020 All Rights Reserved.