Data Science|Basics

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

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

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

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

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

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


本ブログを運営しているTech Teacherは、業界初のプログラミング家庭教師サービスを提供しています。

その特徴は完全マンツーマン・フルオーダーメイド指導・30分ごとの利用が可能であるところです。

完全マンツーマン

Tech Teacherのマンツーマン指導なら理解できない箇所は何度も分かるまで説明を受けることができます。

フルオーダーメイド指導

Tech Teacherではあらかじめ決められたカリキュラムはありません。そのためご自身の学習状況や学びたいことに合わせた指導が可能です。

一括支払いなし

一般的なプログラミングスクールの料金体制はカリキュラムに対して一括払いですが、Tech Teacherでは利用した分だけの支払いとなります。そのため、大きな費用負担がなく気軽に始めることができます。

Pythonをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

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つずつ行いましょう。

「Tech Teacherで!~家庭教師ならではの3つの魅力~」

本Blogを運営するプログラミング家庭教師Tech Teacherは以下のような疑問をすべて解決できるサービスです。

・Pythonの応用をもっと学びたいが、値段が高いスクールに通うのは気が引ける

・目的別に短時間の利用ができるサービスがあったらいいな

比較対象 Tech Teacher プログラミングスクールA社
受講形態
1対1

1対3~5
担当教師
担任教師
×
講座別の講師
カリキュラム
自分専用指導

全員指導
仕事・学業との両立
可能
×
不可能
メンター制度
担任教師

異なる担当
料金
授業分だけ
×
一括払い
初期費用
入会金
22,000円
×
一括払い
528,000円
シミュレーション
(3ヶ月90分の指導を週1で行う)

164,500円
×
528,000円

以下、Tech Teacherの3つの魅力を紹介します。

Pythonをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

1.効率的な学習スタイル

一人のためだけの指導~1対1の完全個別指導~

一般的なプログラミングスクールでは大人数の対面講義や、録画講義の視聴またはオンラインでの受講がメインです。そうなると学習しながら生じた疑問をすぐに聞くことができずに、先に進んでしまい内容をうまく理解できなかったり、作業がうまく進まなかったりします。

家庭教師であれば、マンツーマンのため自分の課題にだけ焦点を当てて指導を受けられるので、1回の授業を濃い時間にすることができます。

無駄のない学習~フルオーダーメイド~

Tech Teacherは一般的なプログラミングスクールと異なり、あらかじめ決められたコースやカリキュラム設定がありません。
一般的なプログラミングスクールのカリキュラムでは、自分が本当に学習したいことを学ぶのにいくつか他の講義を受けなければなりません

Tech Teacherでは生徒様の現状の習熟度・目的・期間に応じてお悩みにダイレクトに刺さる授業を展開し、最短で目標となるゴールを目指せます。

2.自分のペースで学習できる

必要な分だけ~従量課金モデル~

Tech Teacherでは、他にはない「短時間(30分ごと)」の利用が可能です!勉強していてちょっとわからないところ、プログラミング学習のモチベーション維持など様々な疑問や悩みを解決することができます。
授業を受けた分だけ後払いする料金体系(3,960円〜 / 30分)のため、必要な期間に必要な分だけ受講できます。

好きな時間で~相性のいい教師の紹介~

Tech Teacherではあらゆるニーズに対応できる教師陣がいるため、生徒様の希望条件に最適な教師を紹介します。

Tech Teacherを受講している方のほとんどが仕事をしている社会人の方です。TechTeacherの家庭教師なら受講日時や回数を、生徒様のご都合に合わせて柔軟に調整することができ、スキルだけでなく都合の良い時間で指導できる教師を選べます。

3.確実に身につく

挫折しない~担任教師の継続指導~

オンライン・オンデマンドの講義の視聴形態だと、学習に対するモチベーションの維持が課題となり、当初の予定よりも受講期間が伸びたり、挫折したりする恐れがあります。

Tech Teacherでは、担任教師が生徒と二人三脚で学習をするため、学習が大変なときも寄り添ったサポートを受けられます。

具体的には学習計画の管理や受講目的を明確にした上で中間目標を設定し、それに向けた学習の指導をすることでモチベーションの維持を図ります。

いつでも質問できる~チャットサポート(オプション)~

担当教師は授業の時間以外に、チャットサービスを利用して、自分で学習しているときに生じた疑問をすぐに質問して解決することができます。

Javaをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

Tech Teacherへのお問い合わせ

質問のみのお問い合わせも受け付けております。

まとめ

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

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

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

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

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

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