Pythonでリスト(配列)に要素を追加するには、「append」関数や「extend」関数、「insert」関数などを用います。他には、リストを結合したり「+」演算子を利用することもあります。
これらの関数は手軽に使える一方で、上手に扱わないと処理速度が低下してしまうことがあります。これを解決する方法は次の記事を参考にしてみてください。
参考:【Python入門】初めてのプログラミング(append関数, extend関数, insert関数と処理速度)
頑張っていきましょう!
無料オンライン相談を活用しよう!
Pythonというプログラミング言語は機械学習の人気の高まりなどもあり、様々なスクールが無料説明会を開催しています。
その中でも「Freeks(フリークス)|業界初!10,780円のサブスク型プログラミングスクール」がオススメです。Pythonを効率よく学びたいという方はまずは適性を知るためにも無料説明会を利用しましょう。
コンテンツ
末尾に要素を追加:append
末尾に要素を追加したい場合には「append」関数を使います。指定位置に要素を追加したい場合には後述する「insert」関数やリストのスライスという方法を用います。
リストやタプルもそのまま追加されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
l = [i for i in range(3)] print(l) # [0, 1, 2] l.append(3) print(l) # [0, 1, 2, 3] l.append("four") print(l) # [0, 1, 2, 3, 'four'] l.append(["five", "six"]) print(l) # [0, 1, 2, 3, 'four', ['five', 'six']] |
Pythonの特徴に「内包表記」という書き方があります。このコードでの2行目に該当する部分です。
こちらについては次の記事で詳しく解説しています。
参考:【Python入門】初めてのプログラミング(内包表記)
末尾に要素を追加(結合):extend, 「+」演算子
「extend」関数や「+」演算子を使うと、末尾に要素が追加されるのは「append」関数と同じですが、追加される要素が一つずつになります。
まずは「extend」関数から!
1 2 3 4 5 6 7 8 9 10 11 |
l = [i for i in range(3)] print(l) # [0, 1, 2] l.extend([3, 4]) print(l) # [0, 1, 2, 3, 4] l.extend(("five", "six")) print(l) # [0, 1, 2, 3, 4, 'five', 'six'] |
次に「+」演算子を見てみよう!
1 2 3 4 5 6 7 8 9 |
l = [i for i in range(3)] print(l) # [0, 1, 2] k = ["three", "four"] l += k print(l) # [0, 1, 2, 'three', 'four'] |
配列やタプルを追加しても要素が 一つずつ 分解されているのが分かりますね。
このように、リストの要素をそのまま「 + 」演算子で一つのリストに統合できるので非常に便利です!
指定位置に要素を追加:insert
次にリストの指定位置に要素を追加する方法です。「insert」関数を用います。
要素の先頭に追加したい場合には「0」を、末尾の一つ前には「-1」を、末尾から二つ前には「-2」を使うと便利です。
1 2 3 4 5 6 7 8 9 10 11 12 |
l.insert(1, "one") print(l) # [0, 'one', 1, 2] l.insert(-1, "two") print(l) # [0, 'one', 1, 'two', 2] l.insert(-2, [-1, -1]) print(l) # [0, 'one', 1, [-1, -1], 'two', 2] |
スライスの使い方
スライスとは、リストなどの一部分を切り取ってコピーを返してくれる機能のことです。
1 2 3 4 5 6 |
s = "0123456789" t = s[2 : 5] print(t) # 234 |
上記の例の場合、「5」を含めないことに注意してください!
要素を挿入する
スライスの機能を使って、元のリストの要素を消すことなく、複数の要素を挿入する方法です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
l = [i for i in range(3)] print(l) # [0, 1, 2] # l[1]に[-1, -1]を代入 l[1] = [-1, -1] print(l) # [0, [-1, -1], 2] # l[1]に[-2, -2]を挿入 l[1 : 1] = [-2, -2] print(l) # [0, -2, -2, [-1, -1], 2] |
代入と挿入は全然違うので理解しておこう!
要素を置換する
スライスの機能を使って、元のリストの要素を置換する方法です。
1 2 3 4 5 6 7 8 9 10 11 12 |
l = [i for i in range(3)] print(l) # [0, 1, 2] l[1 : 2] = [-3, -3] print(l) # [0, -3, -3, 2] l[1 : 3] = [-4, -4, -4] print(l) # [0, -4, -4, -4, 2] |
まとめ
今回は、Pythonでリストの要素を追加する方法として、「append」関数、「extend」関数、「insert」関数に加え、「+」演算子についての解説をしました。
これらの関数は便利ですが、計算コストを考慮するとまだまだ改善することが出来ます。その例にスタックとキューなどがありますが、次の記事も参考になると思います。
参考:【Python入門】初めてのプログラミング(append関数, extend関数, insert関数と処理速度)
無料の説明会を有効活用しよう!
独学での学習は孤独感を感じやすく挫折してしまう初心者も多いです。また、参考書を購入しても全く読む気にならないという方も多いはずです。
それでも、なんとかPythonの勉強を行い、高スキルなエンジニアを目指したいという方は無料で受けられるオンライン説明会に参加してみることも一つの手です。
Pythonというプログラミング言語は機械学習の人気の高まりなどもあり、様々なスクールが無料説明会を開催しています。
その中でも「Freeks(フリークス)|業界初!10,780円のサブスク型プログラミングスクール」がオススメです。Pythonを効率よく学びたいという方はまずは適性を知るためにも無料説明会を利用しましょう。
パソコン操作にお困りではありませんか?
ExcelやWordなど、基本的なソフトの使い方がいまいちわからないという方には、「PCHack」という講座をオススメしています。スクールの中でもコストパフォーマンスに優れ、オンラインなのでどこでも好きな時間に学習できます。
3万円ほどでPC初心者を脱出したい方は参考にしてください。
【PC初心者必見!】パソコンの勉強方法が分からないならPCHack講座がオススメ!