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のリストについて詳しく知りたい方にはこちらの記事がおすすめです!
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 c |
また、後ろから数えた要素を呼び出したいときは「-(マイナス)」を使用します。
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 t( l 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つの魅力
魅力1. オーダーメイドのカリキュラム
『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。
魅力2. 担当教師によるマンツーマン指導
Tech Teacherでは、完全マンツーマン指導で目標達成までサポートします。
東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
そのため、理解できない箇所は何度も分かるまで説明を受けることができます。
魅力3. 3,960円/30分で必要な分だけ受講
Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです。一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。
まとめ
・魅力1. 担当教師によるマンツーマン指導
・魅力2. オーダーメイドのカリキュラム
・魅力3. 3,960円/30分で必要な分だけ受講
質問のみのお問い合わせも受け付けております。
まとめ
今回、appendの役割や基本的な使い方、extendとinsertとの違い、実践的な使用方法を説明してきましたがいかがでしたでしょうか。
今回の要点をまとめると以下のようになります。
- Pythonのappendは、リストの末尾に要素を追加する際に使用する
- appendは、複数の要素を同時に追加することはできない
- appendは、リスト以外には使用できない
- appendは、リストの末尾に別のリストやタプルを結合する
- insertは、指定した位置に要素を追加する
つまずかないように、しっかり頭にいれて理解を深めておきましょうね。
このブログでは他にもPythonの学習に役立つ情報を発信しています!ぜひご覧ください。