【Python Coding】リストに要素を追加する方法を解説
こんにちは、TAKです。
今回は、pythonの基本的な文法の一つである「リスト」の使い方について紹介していきます。
具体的には、作成したリストに「新しい要素を追加」する方法を「2つ」、シンプルな具体例を交えて解説していきたいと思います。
【こんな人に読んで欲しい記事です】
● リストに要素を追加する方法を知りたい方
● pythonの文法「リスト」について基本的な理解を深めたい方
リストに要素を追加する方法①|append
リストに要素を追加する方法の一つ目は、「append」を使った方法です。
「append」を用いることで、リストの「末尾」に新たな要素を加えることが出来る点がポイントです。
appendの使い方をコードで確認する前に、0から9の数値で構成されたシンプルなリストを用意します。
このシンプルなリストに任意の数値を指定し、リストに要素を追加していきます。
以下コード例では、ユーザーから入力値を受け取れるように「input」を用いています。また、そのままだと文字列型として認識されるため、「int」によって数値型に変換しています。
コード2行目にあるように、「list.append(要素)」によって追加したい要素を末尾に加えることが可能となります。上記の結果、リストを格納している変数「lis1」がどう変化したかを見てみましょう。
すると、変数「lis1」の末尾に「100」が追加されているのがわかるかと思います。
このように、「末尾」に要素を追加したい時に使える方法が「append」という方法です。
リストに要素を追加する方法②|insert
リストに要素を追加する方法の二つ目は、「insert」を使った方法です。
「insert」を用いることで、リストの「任意の場所」に新たな要素を加えることが出来る点がポイントです。
先ほどのappendが「末尾」に追加だったのに対して、insertは指定した「任意の場所」に追加出来る点が異なります。「任意の場所」と表現していますが、リストの最初や末尾を指定することも可能です。
先ほど作った変数「lis1」をそのまま利用して、insertの使い方を見ていきましょう。
以下のコード例は、「任意の数値」を「リストの3番目」に指定した内容となっています。
コード2行目にあるように、「list.insert(X,要素)」によってリストの「X番目」に「要素」を追加することが可能となります。変数「lis1」がどのようになったかを見てみましょう。
すると、変数「lis1」の「3番目」の箇所に「999」が追加されているのがわかるかと思います。
このように、「任意の場所」に要素を追加したい時に使える方法が「insert」という方法です。
appendを使った適用例
最後に、「append」を用いた具体例を紹介したいと思います。
「なんでinsertじゃなくてappendなの?」と思われる方もいるかもしれませんが、「append」の方がよく使われるからです。むしろ「insert」を使う機会は(個人的には)ほとんどないくらいです。
その理由としては、「リスト型」は「辞書型」と異なり「順序に意味を持つデータ型」である以上、順序に変化を生じさせるinsertのニーズがあまりないからかなと個人的には解釈しています。
データサイエンスなどの領域でも、「空のリスト」を用意してそこに要素(例えばスコア結果)を追加していく方法は頻繁に使われますので、ここでも2つほど紹介していきたいと思います。
【appendの適用例①】 空のリスト(fruits変数)に4つのfruitsをforループで追加
【appendの適用例②】 空のリスト(score_list変数)に得点に応じたスコアをforループで追加
1つ目の例は、文字列を用いた例です。
先ほどまでは「数値型」を使っていましたが、当然「文字型」でも使える点を確認しておいてください。
以下は、空のリストを用意しておいて、forループで各要素を追加している内容となります。
2つ目の例は、関数を組み込んだ例です。
「100」から「40」のポイント(得点)を自作関数によりスコア(A~C)に変換し、そのスコア結果をリストに格納することを目的としています。
このように、forループや関数と組み合わせて「append」を使う方法はよく出てくるので、是非知っておいてください。なお、関数部分では「三項演算子」という方法を用いているので、「関数(cal_score)の部分が今一つ理解出来ない」という方は、以下記事を参考にしてみてください。
まとめ
今回は、pythonの基本文法の一つである「リスト」に要素を追加する方法を紹介してきました。
中でも、「append」を用いた方法はよく使われる方法なので、forループと合わせて使えるようにしてみてください。
では今回はこのへんで。