【Python】リストの削除方法「pop」「del」「remove」の違い

Python

SEのmomoです。

Pythonでリストから要素を削除するには、「pop」「del」「remove」の3つの方法があります。

この3つ、いまいち違いが分かりにくいですよね。

私も学び始めのころ悩みました。

そこで、私なりにわかりやすくまとめてみたので、是非参考にしてください。

サイト運営者
momo

大阪在住の40代女性SE。現在は、子供2人を育てながら自宅でフリーランスとして働いています。主に業務効率化を請け負っており、最近は生成AIについても猛勉強中。

momoをフォローする
003_midworks_img_300x250

まず、Pythonのリストとは?

Pythonのリストは、複数の値をひとまとめにできる便利な構造です。

リストを作るときは[]で囲みます。

例えばフルーツのリストがあるとします。

fruits = ["りんご", "バナナ", "みかん"]

このリストの内、どれかの値を消すときに、「pop」「del」「remove」の3つのどれかを使います。

「pop」「del」「remove」の違いを比較

3つの違いについて、まとめてみました。

赤文字のところが、押さえておくとよいポイントです。

popdelremove
指定方法インデックスインデックス
スライス
削除したい値
戻り値あり(削除された値)なしなし
複数削除××

①popの使いかたと特徴

pop使いかた

popの()には、消したい位置のインデックスを指定します。先頭が0番目です。

例えばバナナ(先頭から1番目と数える)を消すときは、こう書きます。

fruits = ["りんご", "バナナ", "みかん"]
item = fruits.pop(1)
print(item)  ➜ バナナ
print(fruits)  ➜ ['りんご', 'みかん']

popの特徴

  • インデックス(位置)を指定して要素を削除できる
  • 削除した要素が戻り値として返る
  • 【おまけ】インデックスを省略すると「最後の要素」が削除される

②del の使い方と特徴

del の使いかた

delでは、消したい場所をインデックスかスライスで指定します。

まずはインデックスの場合、popと同じように前から何番目かを指定します(0始まり)。

fruits = ["りんご", "バナナ", "みかん"]
del fruits[1]
print(fruits)   # ➜ ["りんご", "みかん"]

続いてスライスの場合。

fruits = ["りんご", "バナナ", "みかん"]
del fruits[0:2]
print(nums)  # ➜ ["りんご", "バナナ"]

del の特徴

  • インデックスやスライスで要素を削除する
  • 値の取得はできない(戻り値なし)
  • スライスを使えば複数の要素をまとめて削除できる

③removeの使い方と特徴

remove の使いかた

fruits = ["りんご", "バナナ", "みかん"]
fruits.remove("バナナ")
print(fruits)  # ➜ ['りんご', 'みかん']

remove の特徴

  • 値を指定して削除
  • 最初に見つかった1つだけ削除される
  • 削除した値は取得できない

まとめ:一番わかりやすい使い分けポイント

どうでしょうか。

1つずつ細かく説明しましたが、まだややこしいでしょうか(/ω\)

そんなときは、以下のポイントでどうでしょうか。これが一番簡単な使い分けだと思います。

実際にコードを書いて試してみると、より理解が深まります。ぜひ試してみてください。

私も利用しているフリーランス向けエージェント。1年目から年収600万を実現し、毎年報酬アップしています。
難しい契約や交渉は完全にお任せできるので安心。
登録も面談も完全無料なので、自分の市場価値や将来性を確認するだけでも価値ありです。

Python
momoをフォローする
タイトルとURLをコピーしました