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 ‘ ]

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

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

インデックスとは

一度作成したリストは、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 の append は複数の要素を同時追加できない

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

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

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

まとめ

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

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

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

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

プログラミングの家庭教師『Tech Teacher』


出典:Tech Teacher

「スクールに通い続ける自信がない…」
「時間がなくてスクールに通えない…」

そんな方にはプログラミングの家庭教師『Tech Teacher』がおすすめです。
Tech Teacherはマンツーマン指導なので、生徒様一人ひとりに最適な指導を行うことができます。また、オンライン指導も可能なので、全国どこにいても家庭教師の授業を受けることができます。

Tech Teacherの3つの特徴


生徒様に最適化されたマンツーマン指導
完全マンツーマンの指導なので、生徒様の目的・学習状況・ご要望に合わせて、最適な指導をご提供いたします。

指導力・人柄・相性の優れた教師のご紹介
Tech Teacherには採用率20%の選考を突破した、指導力の高い教師が在籍しています。また、選考では指導力だけではなく人柄も重視しております。

1,000人の教師が在籍!幅広い指導に対応可能
業界トップレベルの1,000人の教師が在籍しています。そのため、幅広い言語・ツール・目的に対応することができます。

家庭教師ならではの5つの魅力


オーダーメイドのカリキュラム
生徒様一人ひとりに習熟度・目的・期間に応じて最適なカリキュラムを提供いたします。

きめ細やかなフォローが可能
生徒様からのご要望にきめ細やかに対応し、学習計画や勉強法などの指導もできるので、普段の勉強も捗ります。

習い事・学業・お仕事との両立が簡単
教室に通う必要がないので親御様の送迎も不要です。授業時間・頻度を生徒様のご都合に合わせて自由に調節することができます。

自分のペースで進められる
生徒様の理解度や意欲に応じて授業のスピードを調節できます。不明点や疑問点は都度立ち止まって解消できるので、着実に理解して進むことができます。

すぐ質問できるから挫折しない
先生を独り占めできるので、周りの目を気にすることなく分からないところをいつでも質問できます。

Tech Teacherのサイトはこちら

Tech Teacherについてさらに詳しく知りたい方は下の画像をクリック!