Python: リストから指定した値の要素を削除する remove()

指定した値の要素を削除 remove()

Pythonでリストから指定した値の要素を削除する場合は、 remove()メソッドを使います。

書式
リスト.remove(値)

値を指定して要素を削除したい場合は remove()メソッドを使い、 インデックスを指定して要素を削除したい場合は del文を使います。

li  = ["a", "b", "c"]

# "a" の要素を削除
li.remove("a")

print(li) # ['b', 'c']

指定した値の要素が複数存在する場合は、 最初の要素を削除します。

次のコードは、値が"a"の要素を削除しています。 ですが値が"a"の要素は複数あるため 2番目の"a"の要素は残っています。

li  = ["a", "b", "c", "a", "b", "c"]

# "a" の要素を削除
li.remove("a")

print(li) # ['b', 'c', 'a', 'b', 'c']

指定した値の「すべて」の要素を削除する

指定した値の「すべて」の要素を削除したい場合は いくつか方法がありますが、 while文を使った次の方法がシンプルでわかりやすいと思います。

li  = ["a", "b", "c", "a", "b", "c"]

# "a" の要素を全て削除
while "a" in li:
	li.remove("a")

print(li) # ['b', 'c', 'b', 'c']