Pythonのリストに要素を追加・削除する方法!append, remove, popの使い分けを解説
生徒
「Pythonで、データをまとめて入れる“箱”みたいなものってありますか?」
先生
「良い質問ですね。Pythonでは、『リスト』という仕組みを使うことで、複数のデータをまとめて扱えます。」
生徒
「そのリストの中に、あとから追加したり、いらないものを削除したりもできますか?」
先生
「もちろんできますよ!今回は、Pythonのリストに『要素を追加・削除する方法』を、初心者でもわかるように丁寧に解説していきますね。」
1. リストとは?Pythonでよく使う「箱」のようなもの
リストとは、Pythonでよく使われる複数のデータを一度にまとめて扱える便利なしくみのことです。数字や文字、文章など、種類の違うデータでもまとめて保存できます。たとえば、買い物かごに商品を入れるようなイメージで、必要なデータを順番に入れていくことができます。
fruits = ["りんご", "バナナ", "みかん"]
このfruitsという変数には、「りんご」「バナナ」「みかん」という3つのデータが入っており、ひとつのリストとしてまとまっています。もし果物を追加したくなった場合でも、リストなら後から自由に増やしたり減らしたりできるため、プログラミングの中でとても便利です。
また、リストは順番を保ったままデータを管理できるため、「1番目のデータ」「最後のデータ」といった取り出し方も簡単にできます。プログラミング初心者が最初に覚えるデータの扱い方として、リストはぴったりの存在です。
2. appendでリストの最後に要素を追加する
append(アペンド)メソッドは、リストの一番うしろに新しいデータを追加するときに使います。
使い方はとてもシンプルで、リスト名に「.append(追加したい値)」と書くだけです。
fruits = ["りんご", "バナナ", "みかん"]
fruits.append("ぶどう")
print(fruits)
['りんご', 'バナナ', 'みかん', 'ぶどう']
このように、もとのリストの後ろに「ぶどう」が追加されます。
3. removeで特定の値を削除する
remove(リムーブ)メソッドは、リストの中から特定の値を削除したいときに使います。
ただし、最初に見つかった1つだけを削除します。まったく同じ値が2つ以上あっても、最初の1つしか消えません。
fruits = ["りんご", "バナナ", "みかん", "バナナ"]
fruits.remove("バナナ")
print(fruits)
['りんご', 'みかん', 'バナナ']
最初に出てきた「バナナ」だけが消えて、2番目の「バナナ」は残っています。
注意点として、リストに存在しない値をremoveするとエラーになります。
fruits = ["りんご", "バナナ"]
fruits.remove("ぶどう") # この行でエラーになります
4. popで特定の位置の要素を取り出して削除する
pop(ポップ)メソッドは、リストから値を取り出しつつ削除するときに使います。
カッコの中に削除したい位置(番号)を指定することで、その場所の値を削除できます。
fruits = ["りんご", "バナナ", "みかん"]
removed = fruits.pop(1)
print(removed)
print(fruits)
バナナ
['りんご', 'みかん']
ここでは「1番目(0から数えるので2番目)のバナナ」がremovedに取り出され、リストからも消えました。
何も指定しないと、一番うしろの要素が削除されます。
fruits = ["りんご", "バナナ", "みかん"]
fruits.pop()
print(fruits)
['りんご', 'バナナ']
5. append・remove・popの違いを図でイメージしよう
リストを「お菓子の入った箱」としてイメージすると、以下のようになります。
- append:箱のうしろにお菓子を「追加」する
- remove:箱の中の「特定のお菓子」を探して「取り除く」
- pop:箱の中の「場所を指定して1個取り出し、同時に削除」する
このように、それぞれ使い道が少しずつ違うので、目的に合わせて選びましょう。
6. 複数の要素を一気に追加したいときは?
実はappendでは、複数の要素をいっぺんに追加することはできません。
fruits = ["りんご", "バナナ"]
fruits.append(["ぶどう", "メロン"])
print(fruits)
['りんご', 'バナナ', ['ぶどう', 'メロン']]
このように、appendでは["ぶどう", "メロン"]というリストそのものが1つの要素として追加されてしまいます。
複数の値を「バラバラに追加」したい場合は、extend(エクステンド)を使いましょう。
fruits = ["りんご", "バナナ"]
fruits.extend(["ぶどう", "メロン"])
print(fruits)
['りんご', 'バナナ', 'ぶどう', 'メロン']
7. 削除方法の違いを簡単におさらい
remove(値):中身で指定して削除。なければエラー。pop(位置):番号で指定して削除。その要素を取得できる。pop():何も書かないと、最後の要素を削除。
目的に合わせて、どれを使うか選ぶのがポイントです。
まとめ
Pythonでよく使われるリストの基本操作「追加」と「削除」について、今回はしっかりと学んできました。プログラミング初心者にとって、「リスト」という概念はやや抽象的に感じるかもしれませんが、「箱の中にデータを入れて整理する」と考えれば、ぐっと身近になります。特に、appendで末尾に追加する方法は、どんなプログラムにも応用できる基本中の基本です。
さらに、removeで中身を指定して削除する方法や、popで位置を指定して取り出す方法も学びました。removeは中身で判断し、popは位置で判断するため、それぞれの違いを理解しておくと、意図した通りにリストを操作できるようになります。
例えば、ユーザーが入力した内容から特定の要素だけを除きたいときにはremoveを使い、順番に処理したい場合や「最後に追加されたものを取り出す」ようなLIFO的な使い方にはpopが最適です。
また、appendではリストの中に新しい値を1つだけ追加するのに対し、extendを使えば複数の要素を一気にリストへ追加できるという違いにも注意が必要です。この違いを知っておくだけで、処理の柔軟性が大きく変わります。
実際の現場では、リストの要素を管理する場面が非常に多くなります。たとえば、買い物リストの管理、チャットアプリのメッセージ一覧、ゲームのアイテム管理など、リスト操作は日常的に使われる技術です。だからこそ、今回のような「追加」と「削除」に関する基本操作を早い段階で身につけておくことが、今後のプログラミング学習を進めるうえでの大きな力となります。
基本の復習:リストに要素を追加する
fruits = ["りんご", "バナナ"]
fruits.append("ぶどう")
print(fruits)
このコードでは、「ぶどう」が末尾に追加されて、リストは「りんご」「バナナ」「ぶどう」の順になります。appendは非常に直感的に使えるため、最初に覚える追加メソッドとしておすすめです。
応用:位置を指定して要素を取り出す
fruits = ["りんご", "バナナ", "みかん"]
item = fruits.pop(1)
print(item)
print(fruits)
この例では、「バナナ」が取り出されてitemに入り、リストからも削除されます。取り出した値を別で使いたいときにはpopがとても便利です。
複数の要素を一度に追加する
fruits = ["りんご", "バナナ"]
fruits.extend(["メロン", "パイナップル"])
print(fruits)
extendを使えば、「メロン」と「パイナップル」がそれぞれ独立した要素として追加されます。appendとの違いを実際に動かして確認するのが理解への近道です。
生徒
「Pythonのリストって、箱に物を入れたり出したりするイメージで考えると、すごくわかりやすかったです!」
先生
「その通りです。データを追加したり削除したりというのは、どのプログラムでも出てくる操作なので、早めに慣れておくといいですよ。」
生徒
「appendで追加、removeで削除、popで取り出しながら削除する…それぞれ使い分けるのが大事ですね。」
先生
「ええ、状況に応じて適切なメソッドを選べると、コードもきれいに書けるようになりますよ。extendも便利なのでぜひ使ってみてくださいね。」
生徒
「はい、実際に手を動かして練習してみます!リスト操作を使いこなせたら、もっといろいろなことができそうです。」
先生
「その意気です!今後のプログラミングでも、リストは何度も登場するので、しっかり身につけていきましょう。」
この記事を読んだ人からの質問
プログラミング初心者からのよくある疑問/質問を解決します
Pythonのリストとは何ですか?初心者にもわかりやすく教えてください
Pythonのリストは、複数のデータを1つにまとめて扱える便利なデータ構造です。箱のようなイメージで、中に文字列や数字などを入れておくことができます。
理解度のクイズ問題
空欄の★に当てはまる内容を答えてください。
fruits = ["apple", "banana"] # 要素の追加 fruits.append("grape") # 値の削除 fruits.remove("banana") print(fruits) # ['apple', 'grape']