Data Science|Basics

【Python】appendの使い方を理解しよう!役割や実践方法を徹底解説!

Python を始めたばかりの方で、append を使用している途中でつまずいてしまう人もいるでしょう。

・「基本的なappendの役割が知りたい」

・「appendの基本的な使い方が知りたい」

・「appendの実践的な使用方法が知りたい」

このような方に、Pythonリストの基本から extend と insert との違いも踏まえて詳しく説明します。


本ブログを運営しているTech Teacherは、
プログラミング家庭教師サービスを運営しています。
完全マンツーマン・フルオーダーメイド
あなたが必要な指導を提供します。

Python リストの基本

appendを詳しく説明する前に、Pythonリストの基本について説明します。
知っている人もいるかもしれませんが、再度確認しておきましょう。

Pythonのリストとは

リストとは、情報を入れておくための箱のことで、複数の箱を同時に管理できます。
実際に、リスト作成するコードを交えて詳しく説明していきます

 1 l i s t = [ ]
 2 p r i n t( l i s t )
 3 実行結果
 4 [ ]

リストでは、空のリストを作成すること可能すが、最初から要素を入れることもできます。要素は、数字でも文字でもOKです。

数字の場合、Pythonは計算可能な数値として認識しますが、文字として数字を入れたいケースも存在しますよね

文字として数字を入れたい場合は、下記のように「”」で囲みましょう

 1 l i s t _ a = [ ” 1 2 3 ” ]
 2 p r i n t( l i s t _ a )
 3 実行結果
 4 [ ‘ 1 2 3 ‘ ]

このように数字を文字として認識させ、計算に用いないようにできます。

また、複数の要素を入れる場合は、「, 」で区切りましょう

Pythonのリストについて詳しく知りたい方にはこちらの記事がおすすめです!

https://www.tech-teacher.jp/blog/python-list/

インデックスとは

一度作成したリストは、1つの要素を呼び出したり、自由に編集したりすることが可能です。要素には順序があり、それぞれインデックスと呼ばれる番号が付いています。

下記のようにインデックスは0から順に始まり、その番号を指定することで対応する要素を取り出せます

        0  1  2  3  4    #前から
l i s t _ 1 = [”a”,”b”,”c”,”d”,”e”]
l i s t _ 2 = [ 1 , 2 , 3 , 4 , 5 ]

       −5   −4   −3   −2   −1    #後ろから

下記のように、インデックスを用いてリスト内の要素を呼び出すことができます。

 1 l i s t _ a=[”a”,”b”,”c”,”d”,”e”]
 2 p r i n t( l i s t _ a [ 2 ] )
 3 実行結果
 4 

また、後ろから数えた要素を呼び出したいときは「-(マイナス)」を使用します。

 1 l i s t _ a=[”a”,”b”,”c”,”d”,”e”]
 2 p r i n t ( l i s t  _ a[ −2 ])
 3 実行結果
 4 d

複数の要素を一気に取る場合は「:」を使用します。

先頭から途中まで取る場合は下記の通りです。

 1 l i s t _ a =[”a”,”b”,”c”,”d”,”e”]
 2 print( l i s t _ a[:2])
 3 実行結果
 4 [’a’,’b’]

途中から末尾まで取る場合は下記の通りです。

 1 l i s t _ a =[”a”,”b”,”c”,”d”,”e”]
 2 p r i n t(l i s t _ a [2:])
 3 実行結果
 4 [’c’,’d’,’e’]

 

Python の append とは?

appendとは「添える」「付加する」という意味で、Pythonのappendとは、その名前の通りリストに要素を追加するためのメソッドです。

それでは、appendの役割や基本の使い方、またextendやinsertとの違いを説明します

append の役割

appendの役割は、既存のリストに単一の要素を追加することです。新しい要素は返されませんが、リストの末尾に追加することで、元のリストを変更します。リストにappendメソッドを実行した際、リストの要素数が1つ増加します。

appendメソッドは、複数の要素を一度に追加することはできません。単一の要素を入力パラメータとして受け取った後にリストの末尾に追加します。

また、appendはリストのメソッドです。そのため、タプル・str・dicといったイミュータブルなオブジェクトや、setなどリスト以外には使用できません

append の基本的な使い方

appendの基本的な使い方を紹介していきます。

リスト名.append(追加したい要素)」として作成したリストに値を付加することができます。

 リスト名.append(追加要素)  #構文 

例えば、次のようにして使用します。

 1 l i s t _ a =[1,2,3,4]
 2 l i s t _ a .insert(5)
 3 print( l i s t _ a )
 4 実行結果
 5 [1,2,3,4,5]

ここでは「list_a=[1,2,3,4]」というリストがあり、「list_a.append(5)」を用いて「list_a」のリストの末尾に「5」を追加しています。

文字列でも同様の方法で追加することが可能です。

extend と insert との違いとは?

extendとinsertもappendと同様、リストに要素を追加するメソッドです。しかし、この3つには明確な違いがありますので、それぞれ説明します。

appendは、これまで説明したように末尾に要素を追加します。一方、extendでは末尾に別のリストやタプルを結合させ、insertでは指定の位置に要素を追加します。

言葉だけではイメージしにくいかもしれませんので、extendとinsertについてもコードを交えて説明していきます

extendメソッドの基本的な使い方は下記の通りです。

 1 l i s t _ a =[1,2,3]
 2 l i s t _ a .e x t e n d ([4,5])
 3 print( l i s t _ a )

書き方は、appendをextendに変更しただけでほとんど変わらないのが変わりますね。

実行結果は下記のようになります。

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

文字列の場合は、下記のように各文字が1文字ずつ追加されます。

 1 l i s t _ a =[1,2,3]
 2 l i s t _ a .e x t e n d(’new’)
 3 print( l i s t _ a )
 4 実行結果
 5 [1,2,3,’n’,’e’,’w’]

insertメソッドの基本的な使い方は下記の通りです。

 1 l i s t _ a =[1,3,4,5]
 2 l i s t _ a .insert(1,2) #インデックス1の要素の前に追加
 3 print( l i s t _ a  )
 4 実行結果
 5 [1,2,3,4,5] 

先頭に追加したい際は、insertの第1引数に0を指定しましょう。

append の具体的な使用例

appendの基本的な使い方を読んで、何となくイメージができたでしょうかここからはさらに具体的な使い方について、実際にコードを交えて説明していきましょう。

数値の追加

まずは、数値の追加方法をおさらいしましょう。

 1 #数値の追加
 2 l i s t _ a [1,2,3,4]
 3 #l i s t _ a に新しい要素を追加
 4 l i s t _ a .append(5)
 5 print( l i s t _ a )

実行結果は、下記のようになります。

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

 

文字列の追加

文字列を追加する場合は、下記の通りです。

 1 #文字列の追加
 2 l i s t _ a [’a’,’b’,’c’,’d’]
 3 # l i s t _ a に新しい要素を追加
 4 l i s t _ a .a p p e n d(’e’)
 5 p r i n t( l i s t _ a ) 

実行結果は、下記のようになります。

 1 [’a’、’b’,’c’,’d’,’e’]

 

数値と文字列が混在

数字と文字が混在する場合でも、特別な処理は不要です。

 1 #数字と文字が混在
 2 l i s t _ a [1,2,3,4]
 3 #l i s t _ a に新しい要素を追加
 4 l i s t _ a .a p p e n d(’e’)
 5 p r i n t( l i s t _ a )

実行結果は、下記のようになります。

 1 [1,2,3,4,’e’]

 

別のリストを要素として追加

「list_a」に「list_b=[6]」を追加してみましょう。

 1 l i s t _ a [1,2,3,4,5]
 2
 3 l i s t  _  b =[6]

 4 l i s t _ a .a p p e n d(list_b)
 5 p r i n t( l i s t _ a )

実行結果は、下記のようになります。

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

 

異なる型の追加

appendでは空のリスト「list_a=[ ]」を作成して、数値・文字列を追加することも可能です。

 1 l i s t _ a=[ ]
 2 l i s t _ a .a p p e n d(’dog’)
 3 l i s t _ a .a p p e n d(’pochi’)
 4 l i s t _ a .a p p e n d(10)
 5 p r i n tl i s t _ a
 6 実行結果
 7 [’dog’,’pochi’,10]

上記のコードでさらに「list_b=[’cat’,’tama’,7]」を作成し、「list_animal」に「list_a」と「list_b」を追加する方法を紹介します。

まず、下記のように「list_b」を作成します。

 1 l i s t _ b =[ ]
 2 l i s t _ b .a p p e n d(’cat’)
 3 l i s t _ b .a p p e n d(’tama’)
 4 l i s t _ b .a p p e n d(7)
 5 l i s t _ b

さらに、「list_animal」を作成して、「list_a」と「list_b」を追加します。

 1 l i s t _ a n i m a l =[ ]
 2 l i s t _ a n i m a l .a p p e n d( l i s t _ a )
 3 l i s t _ a n i m a l .a p p e n d( l i s t _ b )
 4 p r i n t( l i s t _ a n i m a l )
 5 実行結果
 6 [[’dog’,’pochi’,10],[’cat’,’tama’,7]]

このようにanimalリストを作成することができました。

for文で長いリストを作成

for文で長いリストを作成する方法は下記の通りです。

 1 l i s t _ a =[ ]
 2 f o r x i n r a n g e(7):
 3 l i s t _ a .a p p e n d(x)
 4 p r i n t( l i s t _ a )

実行結果は、下記のようになります。

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

for文で長いリストを作成する際、「list_a.append(x)」の行をインデントするのを忘れないように気をつけましょう。

Pythonのfor文について詳しく知りたい方はこちらの記事がおすすめです!

https://www.tech-teacher.jp/blog/python-for/

Python の append は複数の要素を同時追加できない

appendの役割でも説明したように、Pythonのappendでは複数の要素を同時に追加することはできません。

 1 #appendメソッドの引数に同時に複数の要素を渡すことは不可
 2 list_a.append(6,’text’)

このように複数の要素を同時に追加しようとしたらエラーを起こしてしまうので、appendメソッドで要素を追加する際は1つずつ行いましょう。

まとめ

今回、appendの役割や基本的な使い方、extendとinsertとの違い、実践的な使用方法を説明してきましたがいかがでしたでしょうか。

今回の要点をまとめると以下のようになります。

  • Pythonのappendは、リストの末尾に要素を追加する際に使用する
  • appendは、複数の要素を同時に追加することはできない
  • appendは、リスト以外には使用できない
  • appendは、リストの末尾に別のリストやタプルを結合する
  • insertは、指定した位置に要素を追加する

つまずかないように、しっかり頭にいれて理解を深めておきましょう

このブログでは他にもPythonの学習に役立つ情報を発信しています!ぜひご覧ください。

【初心者向け】Pythonの配列をマスターしよう!配列操作を一挙解説!「Pythonの配列の使い方がわからない」 「配列を使うと複数のデータを格納できるらしいけど、格納したデータをどうやって使えば良いの?...
Pythonの出力関数printの要点をつかむ!基礎〜応用まで徹底解説Pythonを学習し始めたばかりの方で、print関数についてつまずいてしまう人も少なからずいるでしょう。 「Pythonのp...