🔖

【初心者向け】Pythonの remove() と pop() の違いを解説

に公開

はじめに

Pythonでリストから要素を取り除きたいとき、remove()pop() の2つのメソッドがあります。

しかし、

「この2つの違いがよく分からない」
「どっちを使えばいいのか分からない」

という初心者の方も多いのではないでしょうか?

本記事では、remove()pop() の違いと使い分け方を解説します。

remove():値を指定して削除する

fruits = ['apple', 'banana', 'orange']
fruits.remove('banana')
print(fruits)  # ['apple', 'orange']

✅ ポイント

  • 指定した値と一致する要素を リストから削除 します
  • 同じ値が複数ある場合は、最初に見つかった1つだけ が削除されます
  • 指定した値がリスト内に存在しない場合は、ValueError が発生 します
  • インデックスが分からないとき や、「この値を削除したい」と明確なときに便利です

pop():指定した位置の要素を取り出して削除する

fruits = ['apple', 'banana', 'orange']
item = fruits.pop(1)
print(item)    # 'banana'
print(fruits)  # ['apple', 'orange']
  • 指定したインデックスの要素を削除し、その値を返します
  • インデックスを省略した場合は、末尾の要素が削除されます
fruits = ['apple', 'banana', 'orange']
last = fruits.pop()
print(last)     # 'orange'
print(fruits)   # ['apple', 'banana']

✅ ポイント

  • 削除と同時に値を使いたいときに便利です
  • 順番に追加・削除する処理(スタックやキューなど) に向いています

比較表

項目 remove() pop()
削除の指定方法 値を指定 インデックスを指定
(※値は指定できない)
削除後の戻り値 なし 削除された値を返す
存在しない要素を指定した場合 ValueError
(値が存在しない)
IndexError
(インデックスが範囲外)
主な用途 特定の値を削除したいとき 削除した値を使いたいとき

おわりに

remove()pop() はどちらもリストから要素を削除するメソッドですが、
「値を指定して削除する」か、「位置を指定して削除後、値を使う」かの違いを意識すると選びやすくなります。

特に pop() は戻り値があるので、削除した要素を別で使いたいときに便利です。

どちらを使っても間違いではなく、目的や状況に応じて選べば問題ありません

本記事が参考になれば幸いです。


🔗 関連記事

Discussion