Pythonのlistに要素を追加する方法には、append・extend・insertの3つがあり、目的によって使い分けることが重要です。同じ「追加」でも挙動が大きく異なるため、仕組みを理解していないと意図しないリスト構造になってしまうこともあります。
この記事では、Pythonのlistに要素を追加する基本から、append・extend・insertの違いと使い分けまでをわかりやすく解説します。
リスト操作の基礎をしっかり身につけ、より効率的にPythonコードを書けるようになりましょう。
Pythonのlistとは
Pythonのlistとは、複数の値を順番に管理できる便利なデータ構造です。文字列や数値、さらに別のlistなど、あらゆるデータ型を混在させて格納できます。
必要に応じて要素を追加・削除でき、柔軟に扱える点が大きな特徴です。たとえば、日付データやユーザー情報をまとめて保持したい場合にも役立ちます。
Pythonのlistを理解するには、まず基礎的な構文や扱い方を押さえることが欠かせません。体系立てて学びたい方は、「Python基礎セミナー講習」のような外部セミナーを活用するのも一つの方法です。Python学習の土台を固めることで、list操作もよりスムーズになるでしょう。
Pythonの基礎や将来性について知りたい方は、こちらもチェックしてください。
Pythonのlistに要素を追加する方法【比較表あり】

Pythonのlistに要素を追加するappend・extend・insertの3機能は、それぞれ似ているようで動きが異なります。ここではまず、Pythonのlistに要素を追加する具体的な方法3種類を把握し、それぞれの特徴を理解していきましょう。
- Pythonのlistに要素を追加する方法は3種類
- append・extend・insertの違いと比較表
- こんなときはどれ?用途別の使い分け
①Pythonのlistに要素を追加する方法は3種類
Pythonのlistに要素を追加する方法には、主にappend・extend・insertの3つがあります。「リストへ何かを追加する」という目的は同じですが、追加のされ方や追加位置、さらに扱うデータの種類によって動作が変わる点が押さえておきたいポイントです。
・extendは「複数の要素」を展開して追加する
・insertは「指定した位置」に要素を挿入する
まずはこの3つの大まかな違いを理解しておくと、実務でも迷わず使い分けられます。適切なメソッドを選択できれば、Pythonでのデータ操作がより滑らかに進み、コードの意図も明確になるでしょう。
②append・extend・insertの違いと比較表
Pythonのappend・extend・insertの主な違いは、追加する要素をどう解釈するか、そしてどこに追加されるかにあります。まずは特徴を一覧で比較し、動作のイメージをつかんでおきましょう。
| メソッド | 追加内容の扱い | 追加位置 | 主な用途 |
|---|---|---|---|
| append | 値をそのまま1要素として追加 | 末尾 | 単一要素を簡単に追加したい |
| extend | 反復可能オブジェクトの中身を展開して追加 | 末尾 | 複数要素を一度に追加したい |
| insert | 指定位置に要素を挿入 | 任意の位置 | 順序を保ちながら追加したい |
このような違いを理解しておくことで、意図しないネスト構造を避けたり、リスト整形を効率よく行ったりと、Pythonでより正確なデータ操作が可能になります。
特に初心者はappendとextendを混同しやすく、想定と異なるリストが出来上がるケースも少なくありません。各メソッドの役割を明確に把握し、慣れないうちはPythonコードを書き始める前に確認しておくと安心です。
③こんなときはどれ?用途別の使い分け
Pythonのappend・extend・insertは似ているようで、実際には使いどころがはっきり分かれています。まずは代表的なパターンをチェックしておきましょう。
- 1つの値をそのまま追加したい場合は?→append
- 複数の要素をまとめて追加したい場合は?→extend
- 特定の位置に要素を挿入したい場合は?→insert
- 既存リストの末尾にログやイベントを順番に積み上げたい場合は?→append
- API結果や外部データをリストにそのまま展開して流し込みたい場合は?→extend
このように用途に応じて適切なメソッドを選べば、Pythonコードの可読性が高まり、処理の意図もより明確になります。
appendでlistに要素を追加する方法

Pythonのlistに単一の要素を追加したいときに最もよく使われるのがappendです。ここでは、appendの基本構文とサンプルコードを確認していきましょう。
appendの基本構文
Pythonのappendの基本構文はとてもシンプルで、次のような形で扱います。
list.append(値)
追加される値はどんなデータ型でも問題なく、文字列・数値・辞書・オブジェクトなどをそのまま1つの要素としてリストの末尾に加えられます。
ポイントは、渡した値がそのまま「1つの塊」として追加されるという点です。複数要素を展開したい場合は、次項でご紹介するextendを使う必要があります。
appendのサンプルコード
Pythonのappendは、ログの追記や順次データの追加など、リストの末尾に1件ずつ積み重ねたい場面でよく使われるメソッドです。まずは基本的な挙動を押さえるために、サンプルコードを確認してみましょう。
# —(1)単一の値を追加
items = [1, 2, 3]items.append(4)
print(items)
# → [1, 2, 3, 4]
# —(2)リストを追加した場合
data = [1, 2, 3]data.append([4, 5])
print(data)
# → [1, 2, 3, [4, 5]]
(1)の例では、数値「4」がそのまま1つの要素として末尾に追加されています。これがPythonのappendによる最もシンプルな動作です。
一方で(2)の例では、[4,5]というリストをappendに渡しているため、内部の要素は展開されず、1つのリストオブジェクトとして末尾に追加されます。リストがネスト構造になっている点に注目してください。
extendでlistに複数要素を追加する方法

複数の要素を一度にリストへ追加したい場合には、extendを利用します。ここでは、Pythonのextend構文とサンプルコードで動きを確認していきましょう。
extendの基本構文
Pythonのextend構文は、次のような形で使います。
list.extend(反復可能オブジェクト)
extendの大きな特徴は、渡したオブジェクトの中身を展開してからリストに追加する点です。Pythonで大量データをまとめて処理したいときや既存リストに複数の値を一度に流し込みたい場面では、extendが役立ちます。
extendのサンプルコード
複数要素を扱うケースが多いPythonプロジェクトでは、extendの挙動を理解しておくことでコードの無駄を大幅に減らせます。まずはサンプルコードを見てみましょう。
# — (1) extend で複数要素を追加
items = [1, 2, 3]items.extend([4, 5])
print(items)
# → [1, 2, 3, 4, 5]
# — (2) append で同じ操作をした場合
data = [1, 2, 3]data.append([4, 5])
print(data)
# → [1, 2, 3, [4, 5]]
# — (3) extend は文字列なども反復可能オブジェクトとして展開する
text = [“a”, “b”]text.extend(“cd”)
print(text)
# → [“a”, “b”, “c”, “d”]
(1)の例では、[4, 5]の中身が展開され、4と5がそれぞれ個別の要素として追加されています。これがPythonのextendの基本動作です。
一方で(2)のようにappendを使うと、リスト全体が1つの要素として末尾に追加され、[4,5]がそのままネストされています。
また(3)の例では、文字列”cd”が1文字ずつ展開されて追加されています。Pythonのextendは反復可能なオブジェクトであれば中身を順に取り出して追加するため、文字列やタプルでも同じように動作する点を押さえておきましょう。
insertで任意の位置に追加する方法

リストの特定位置に要素を挿入したい場合に使われるのがinsertです。ここでは、基本構文とサンプルコードで、Pythonのinsertの動きを確認していきましょう。
insertの基本構文
Pythonのinsert構文は次のような形式で、指定したインデックスに要素を挿入します。
list.insert(位置, 値)
特徴は、挿入位置より後ろにある要素がすべて1つずつ後ろへずれる点です。そのため、リストが大きい場合や頻繁に挿入操作を行う場合には、処理コストが高くなることがあります。
insertのサンプルコード
Pythonのinsertは特定の順序を維持したい場面では非常に便利で、UIメニューの並び順管理や、時系列データの調整など、幅広い用途で活躍します。サンプルコードを示します。
# — (1) 任意の位置に値を挿入
items = [1, 2, 4, 5]items.insert(2, 3)
print(items)
# → [1, 2, 3, 4, 5]
# — (2) リストを挿入した場合
data = [“a”, “b”, “d”]data.insert(2, [“c1”, “c2”])
print(data)
# → [“a”, “b”, [“c1”, “c2”], “d”]
# — (3) 多くの要素を抱えるリストで挿入すると内部でシフトが発生する
nums = list(range(1, 6))
nums.insert(0, 999)
print(nums)
# → [999, 1, 2, 3, 4, 5]
(1)の例では、インデックス2の位置に「3」を挿入し、リストが自然な並びへ整えられています。
続いて(2)はリストを挿入した例です。appendと同様に「ひとつの要素」として扱われるため、ネスト構造になっている点に注目してください。
さらに(3)のように先頭へ挿入すると、後続要素がすべて後ろへずれるのも大きな特徴です。
初心者がつまずきやすいポイント

Pythonのappend・extend・insertは扱いやすいメソッドですが、挙動の違いを正しく理解していないと意図しないリスト構造になってしまいます。ここでは3つのつまずきやすいポイントを取り上げ、仕組みを整理していきます。
- appendにリストを渡すとネストされる
- extendは「イテラブルの要素」を展開する
- insertのindex指定はパフォーマンスに注意
①appendにリストを渡すとネストされる
Pythonのappendは、渡された値を丸ごと1つの要素として追加するメソッドです。この特徴を理解していないと、リストを渡した際に意図せずネストされた構造が生まれ、思わぬエラーや扱いづらいデータになることがあります。
たとえば[4,5]というリストオブジェクトをappendに渡すと、内部の4と5が展開されるわけではなく、[4,5]というリストそのものが1要素として追加されます。Pythonで複数要素を展開して追加したい場合はextendを使う必要があるため、両者の動作を混同しないことが重要です。
②extendは「イテラブルの要素」を展開する
イテラブルとは、繰り返し処理(ループ)が可能なオブジェクトのことで、リスト・タプル・文字列などが該当します。Pythonのextendは、このイテラブルの中身を順に取り出して追加するメソッドである点を押さえておくことが大切です。
この挙動を理解していないと、意図しない要素の増加につながる場合があります。たとえば”abc”をextendで追加すると、”a””b””c”の3つがそれぞれ別要素として追加されるため、文字列をひとかたまりで扱いたいケースには向きません。
extendの本質は「反復可能オブジェクトの内容を展開する」点にあります。データの構造を保ったまま追加したいのであればappendを選ぶ必要があるため、用途に応じてしっかり使い分けることを意識しましょう。
Pythonのループ処理のうちwhileの使い方を知りたい方は、こちらも併せてチェックしてください。
③insertのindex指定はパフォーマンスに注意
Pythonのinsertは任意の位置に要素を挿入できる便利なメソッドですが、内部では「挿入位置より後ろの要素をすべて1つずつ後ろへ移動させる」処理が行われます。そのため、要素数が増えるほど負荷が蓄積しやすく、パフォーマンスへ影響が出る可能性があります。
特に先頭付近への挿入を繰り返すケースでは、処理コストが高まりやすい点に注意が必要です。Pythonで順序を保ちながら効率的にデータを扱いたい場合は、dequeなど別のデータ構造を選択肢に入れておくと、より適切な設計ができるでしょう。
listの追加を含めPython基礎を体系的に学びたい人へ

listの追加操作をはじめ、Pythonの基礎をしっかり理解したい方には、「Python基礎セミナー」がおすすめです。Pythonの基礎文法からライブラリの使い方、さらにWebスクレイピングやデータ分析、AIモデルの実装まで、実務で役立つスキルを体系的に習得できます。
学習内容が段階的に積み上がる設計になっているため、独学では理解しづらい部分もスムーズに定着し、実務へ直結する形で身につく点が大きな魅力です。
「Pythonの基礎が曖昧で不安」「どこから手をつければよいか分からない」といった悩みを解消し、プログラミングの基礎力を確実に底上げできます。list操作の理解にとどまらず、Pythonを使って「実際に仕事が回せる」レベルまでスキルを高めたい方は、受講を検討してみてはいかがでしょうか。
| セミナー名 | Python基礎セミナー講習 |
|---|---|
| 運営元 | GETT Proskill(ゲット プロスキル) |
| 価格(税込) | 27,500円〜 |
| 開催期間 | 2日間 |
| 受講形式 | 対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング |
Pythonのlist追加の方法をマスターしよう
Pythonのlistへ要素を追加する方法は、append・extend・insertの3種類があり、それぞれが異なる目的と役割を持っています。
appendは単一要素の追加、extendは複数要素の展開追加、insertは任意の位置への挿入と、使い分けを理解することでリスト操作の自由度が大きく広がります。また、誤解しやすい挙動やパフォーマンスの違いを押さえておくことで、より意図どおりのコードを書けるようになります。
今回の内容を土台に、Pythonで扱えるデータ処理の幅をさらに広げ、次のステップへと進んでいきましょう。





