🔖
【初心者向け】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