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の使用方法