Pythonでリストを使っていると、「いらない値を消したい」「最初に出てくる”りんご”だけ削除したい」という場面があります。
そんなときに便利なのが、remove()
メソッドです。この記事では、list.remove()
の使い方や注意点を、初心者にもわかりやすく説明します。
remove()の基本的な使い方

書き方
リスト.remove(消したい値)
特徴
- 最初に見つけた値を1つだけ削除します
- 番号(インデックス)ではなく「値そのもの」で指定します
使用例
# フルーツのリストを作成
fruits = ["りんご", "バナナ", "りんご"]
# "りんご"を削除
fruits.remove("りんご")
# 結果を確認
print(fruits) # ['バナナ', 'りんご']
ポイント: remove()は「中身の値」で削除するメソッドです。次は、他の削除方法との違いを見てみましょう。
他の削除方法との違い
3つの削除方法を比較
メソッド | 指定方法 | 戻り値 | 特徴 |
---|---|---|---|
remove(値) | 値で指定 | なし | 最初の一致のみ削除 |
pop(番号) | 番号で指定 | 削除した値 | 最後は pop() だけでOK |
del リスト[番号] | 番号で指定 | なし | 複数まとめて削除可能 |
比較例
# 数字のリストを作成
nums = [10, 20, 30, 40]
# remove():値で削除
nums.remove(20)
print(nums) # [10, 30, 40]
# pop():番号で削除
nums.pop(1) # 1番目(30)を削除
print(nums) # [10, 40]
# del:番号で削除
del nums[0] # 0番目(10)を削除
print(nums) # [40]
覚え方: 「値で削除=remove」「番号で削除=popやdel」と覚えると使い分けが簡単です。
remove()を使うときの注意点
エラー1:存在しない値を削除しようとする
# 色のリストを作成
colors = ["赤", "青"]
# 存在しない"緑"を削除しようとする
colors.remove("緑") # ← エラーが発生!
対策: 削除する前に、その値があるかチェックする
# 安全な削除方法
if "緑" in colors:
colors.remove("緑")
print("削除しました")
else:
print("その色は見つかりません")
注意点2:同じ値が複数あるとき
# 同じ数字が複数あるリスト
data = [1, 2, 3, 2, 4]
# 2を削除
data.remove(2)
print(data) # [1, 3, 2, 4] ← 最初の2だけ削除
全部消したいとき: リスト内包表記を使う
# 2を全部削除する方法
data = [x for x in data if x != 2]
print(data) # [1, 3, 4]
実際に使える例
例1:ユーザーが入力した値を削除
# やることリストを作成
tasks = ["宿題", "買い物", "掃除"]
# ユーザーに削除したい項目を聞く
target = input("終わったタスクを入力してください:")
# 存在するかチェックして削除
if target in tasks:
tasks.remove(target)
print(f"「{target}」を削除しました")
print(f"残りのタスク:{tasks}")
else:
print("そのタスクは見つかりません")
例2:指定した値を全部削除する関数
def remove_all(lst, value):
"""リストから指定した値を全部削除する関数"""
return [x for x in lst if x != value]
# 使用例
numbers = [1, 2, 2, 3, 2]
result = remove_all(numbers, 2)
print(result) # [1, 3]
まとめ
remove()
は、**「値を指定して1つだけ削除したい」**ときに最も便利なメソッドです。
この記事のポイント
remove(値)
は最初に見つけた要素を削除- 値が存在しないとエラーになるので、事前チェックが大切
- 複数削除したいときは、リスト内包表記を使う
pop()
・del
との違いを理解して使い分けよう
コメント