【Python Coding】リスト同士を「結合」する方法を解説
こんにちは、TAKです。
今回は、pythonの基本的な文法の一つである「リスト」の使い方について紹介していきます。
具体的には、作成したリストに別のリストを「結合」させる方法を「2つ」紹介していきます。
今回も、シンプルな例を用いてコード結果を確認しやすいように進めていきます。
【こんな人に読んで欲しい記事です】
● リスト同士を「結合」させる方法を知りたい方
● pythonの文法「リスト」について基本的な理解を深めたい方
リストに別のリストを結合する方法①|extend
リスト同士を結合させる方法の一つ目は「extend」を用いる方法です。
extendを用いることで、2つのリストを「1つのリスト」にまとめることが出来ます。
extendの使い方をコードで確認する前に、シンプルなリストを2つ用意しておきます。
用意する2つのリスト
● 変数「lis1」 : 「0」から「9」までの合計10個の数値を格納
● 変数「lis2」 : 「10」から「19」までの合計10個の数値を格納
この2つのリストを結合して、1つのリストにしたコードが以下となります。
コードからわかるように、「list1.extend(list2)」とすることで、「list1をベース」としてlist2を加えることが可能となります。また、「list1」の要素が変化し、「list2」の要素には変化がない点がポイントです。
list1とlist2を逆にすると、ベースとなるリストが変わるため、処理結果も以下のように変わってきます。
すると、先ほどとは異なり、「10」から始まるリスト(lis2)に「0」から始まるリスト(lis1)が追加されていることがわかりますね。以上が、「extend」の基本的な使い方となります。
リストに別のリストを結合する方法②|符号「+」
リスト同士を結合させるもう一つの方法は「プラス(+)符号」を用いる方法です。
先ほど同様、リストを一つにまとめることが出来る上に、直感的に操作出来るのでコチラの方がわかりやすいかもしれません。
今度は、文字列を使ったシンプルな例を用いて結合方法を確認していきたいと思います。
用意する2つのリスト
● 変数「lis3」 : 「AAA」「BBB」「CCC」の3つの文字列を要素に持つリスト
● 変数「lis4」 : 「XXX」「YYY」「ZZZ」の3つの文字列を要素に持つリスト
この2つのリストを結合して、1つのリストにしたコードが以下となります。
コードからわかるように、直感的かつシンプルでわかりやすいですよね。
今回の例のように、新しい変数(new_lis)に「リスト同士を結合した結果」を格納する方法としても使えます。
また、もともとのリストには変化がない点も抑えておいてください。
結合時に「append」を用いる場合の留意点
最後にひとつ、ちょっとした留意点をお伝えしておこうと思います。
今回の記事を見ている方の中には、「リスト同士を結合するならappendを使えばいいんじゃないの?」と思われる方がいるかもしれませんが、結論から言うと結合時にappendは使わない方がいいです。
理由としては、結合したい「リスト」が「1つの要素」として末尾に追加されてしまうためです。
コードを見てもらった方が理解出来ると思うので、試しに先ほどの「変数lis3」にappendを使って「変数lis4」を追加してみたいと思います。
すると、上記赤枠のように、鍵カッコがついています。
これは、変数lis4の要素が一つの固まりとして、変数lis3に追加されていることを意味します。
通常は、要素の一つ一つを追加したいケースの方が多いと思うので、そのような時は今回紹介した2つのいずれかを使うようにしてみてください。また、「appendの意味や使い方が今一つわからない」という方は、以下記事で紹介しているので参考にしてみてください。
まとめ
いかがだったでしょうか?
今回は、pythonの基本文法の一つである「リスト」同士を結合する方法を紹介してきました。
2つ目に紹介した符号「+」を用いてリストを結合する方法は、直感的にも使いやすく忘れにくいので、是非使えるようにしてみてください。
では今回はこのへんで。