言語バージョン 3.9.0

公開日 2020年12月26日 JST

コード例の出力としてprint関数を使用しています。

使用方法がわからない場合は以下のページを参照してからコード例を確認してください。

print関数の使用方法

remove(リスト、配列)

このページでは豊富な例を用いてPythonの リストクラス のremoveメソッドの使い方を学ぶことができます。

removeメソッドは リストクラス(list) のメソッドの1つで、引数に指定した値と最初に一致したリストの中の要素を削除します。

TL;DR

基本

# 引数に指定した値の要素を削除する(戻り値はNone)
list1 = [1, 2, 3]
return_value1 = list1.remove(1)
print(list1)
==> [2, 3]
print(return_value1)
==> None




# 最初に一致した要素のみ削除される
list2 = ['py', 'js', 'java', 'py']
list2.remove('py')
print(list2)
==> ['js', 'java', 'py']




# 指定した要素がないとエラー
list3 = [100, 200, 300]
list3.remove(400)
==> ValueError: list.remove(x): x not in list




# 例外処理を利用する
list3 = [100, 200, 300]
try:
    list3.remove(400)
except ValueError:
    print("list3 doesn't have 400.")
==> list3 doesn't have 400.

関連情報:例外処理(try,except,else,finally)の使用方法

特定の要素を全て削除する

# for文を使用する場合
list1 = ['py', 'js', 'py', 'js', 'js']
for _ in list1:
    if 'js' in list1:
        list1.remove('js')
print(list1)
==> ['py', 'py']




# while文を使用する場合
list2 = [True, True, False, False, True]
while False in list2:
    list2.remove(False)
print(list2)
==> [True, True, True]

関連情報:forの使用方法

関連情報:ifの使用方法

関連情報:whileの使用方法

解説

基本

removeメソッドは引数を1つとり、その引数と最初に一致するリストの要素を削除します。戻り値はNoneです。

引数に指定した要素がない場合はエラーが発生します。処理を継続させたい場合は例外処理を適切に行い対処してください。

list1 = ['python', 'javascript']
return_value1 = list1.remove('javascript')
print(list1)
==> ['python']
print(return_value1)
==> None




# 最初に一致した要素のみ削除される
list2 = [1, 2, 3, 1, 2, 3]
list2.remove(1)
print(list2)
==> [2, 3, 1, 2, 3]




# 指定した要素がないとエラー
list3 = [True, True, True]
list3.remove(False)
==> ValueError: list.remove(x): x not in list




# 例外処理を利用する
list3 = [True, True, True]
try:
    list3.remove(False)
except ValueError:
    print("list3 doesn't have False.")
==> list3 doesn't have False.

関連情報:例外処理(try,except,else,finally)の使用方法

特定の要素を全て削除する

for文while文 と組み合わせることで、最初に一致した要素だけでなく指定した全ての要素を削除することができます。

# for文を使用する場合
list1 = [1, 2, 1, 2, 1, 2]
for _ in list1:
    if 2 in list1:
        list1.remove(2)
print(list1)
==> [1, 1, 1]




# while文を使用する場合
list2 = ['py', 'ts', 'py', 'ts', 'ts']
while 'ts' in list2:
    list2.remove('ts')
print(list2)
==> ['py', 'py']

関連情報:ifの使用方法

1次情報

リスト型についてもう少し - データ構造 - Pythonドキュメント