記事内に広告が含まれています。

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

Python

こんにちは、モグです。

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

この3つ、いまいち違いが分かりにくくありませんか?

そこで、私なりにわかりやすくまとめてみました。

この記事を書いた人
モグ

40代・ごく普通の女性フリーランスSE。
RPAをきっかけにフリーランスとして独立。
最近はさらにPythonやAIも学び副業にも挑戦中。
このブログでは、SEのリアル・スキルアップ・副業の試行錯誤を発信。

モグをフォローする

まず、Pythonのリストとは?

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

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

例えばこんなリストがあるとします。

リスト = ["a", "b", "c"]

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

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

3つの違いについて、いきなりまとめ。

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

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

①popの使いかたと特徴

popの使いかた

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

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

リスト= ["a", "b", "c"]
item = リスト.pop(1)
print(item)  ➜ b
print(リスト)  ➜ ["a", "c"]

popの特徴

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

②del の使い方と特徴

del の使いかた

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

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

リスト= ["a", "b", "c"]
del リスト[1]
print(リスト)  ➜ ["a", "c"]

続いてスライスで指定する方法。

リスト= ["a", "b", "c"]
del リスト[0:2]
print(リスト)  ➜ ["c"]

del の特徴

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

③removeの使い方と特徴

remove の使いかた

リスト= ["a", "b", "b"]
リスト.remove("b")
print(リスト)  ➜ ["a", "b"]

remove の特徴

  • 値を指定して削除
  • 最初に見つかった1つだけ削除される

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

結論、

これだけ覚えたらわかりやすい

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