Python

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

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

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

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

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

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

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のリストについて詳しく知りたい方にはこちらの記事がおすすめです!

【初心者向け】Pythonのリストを解説!データの追加方法や並び替え方がわかる! 「Pythonのリストの使い方がわからない。誰か詳しく使い方を教えてほしい」 本記事ではこのような悩みを解決します。 ...

インデックスとは

一度作成したリストは、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文について詳しく知りたい方はこちらの記事がおすすめです!

【初心者向け】Pythonのfor文の使い方を解説!実践方法まで紹介!「Pythonのfor文の使い方がわからない」 「for文の基本的な書き方はわかったけど、実践的にはどうやって使ったら良いの?」 本...

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

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

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

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

Pythonの個別指導なら『Tech Teacher』

引用元:Tech Teacher

このBlogを運営するTech Teacherは、Pythonを学習する社会人を対象に、初心者から挫折した人まで、一人ひとりの目的や学習状況にあわせた個別指導を行っています。

また、オンライン指導も選べるので、自宅でも対面でも受講できます。

一人ひとりに最適化された完全マンツーマン指導を提供

完全マンツーマン指導で着実に身につく!

Tech Teacherでは専任の教師が完全マンツーマン指導を行います。
学習状況や目標をしっかり把握した教師が、生徒様のご要望もふまえながら最適なオーダーメイドの指導をご提供します。

お仕事と両立しながら続けられる!

Tech Teacherなら、受講日時や回数を生徒様のご都合に合わせて柔軟に調整することができます。
そのため、お仕事との両立がしやすく、プログラミング学習を継続的に学習することができます。忙しい合間にプログラミングを学びたいという方におすすめです。

授業料は受けた分だけ!

Tech Teacherでは、生徒様が受けた授業の時間分だけ後払いで請求させていただきます。そのため、気軽にプログラミングの学習を始めることができます

以下のボタンからさらに詳しい情報をご覧いただけます。

まとめ

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

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

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

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

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

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