【Python】リストで検索した要素を削除する方法

この記事では、Pythonのリストから要素を削除する方法について解説します。

リストから特定の要素や複数の要素を削除する方法、条件に合致する要素を削除する方法、要素のインデックスや範囲を指定して削除する方法、そしてリスト内包表記を使用して要素を削除する方法を学ぶことができます。

目次から探す

リストから特定の要素を削除する方法

リストから特定の要素を削除するには、remove()メソッドを使用します。

このメソッドは、リスト内の最初に見つかった指定した要素を削除します。

# リストから要素を削除する例
fruits = ['りんご', 'ばなな', 'みかん', 'りんご', 'ぶどう']
fruits.remove('りんご')
print(fruits)  # ['ばなな', 'みかん', 'りんご', 'ぶどう']

remove()メソッドは、指定した要素がリスト内に存在しない場合はValueErrorを発生させます。

複数の要素を一度に削除する方法

リストから複数の要素を一度に削除するには、del文を使用します。

del文を使ってリストのインデックスを指定することで、その要素を削除することができます。

# リストから複数の要素を削除する例
fruits = ['りんご', 'ばなな', 'みかん', 'ぶどう']
del fruits[1:3]
print(fruits)  # ['りんご', 'ぶどう']

条件に合致する要素を削除する方法

リストから条件に合致する要素を削除するには、リスト内包表記を使用する方法があります。

リスト内包表記を使って新しいリストを作成し、条件に合致しない要素だけを取り出すことで、元のリストから要素を削除することができます。

# 条件に合致する要素を削除する例
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers = [x for x in numbers if x % 2 == 0]
print(numbers)  # [2, 4, 6, 8, 10]

上記の例では、偶数の要素だけを残すようにしています。

要素のインデックスを指定して削除する方法

リストから要素のインデックスを指定して削除するには、pop()メソッドを使用します。

このメソッドは、指定したインデックスの要素を削除し、その要素を返します。

# 要素のインデックスを指定して削除する例
fruits = ['りんご', 'ばなな', 'みかん', 'ぶどう']
removed_fruit = fruits.pop(1)
print(removed_fruit)  # 'ばなな'
print(fruits)  # ['りんご', 'みかん', 'ぶどう']

pop()メソッドは、指定したインデックスが存在しない場合はIndexErrorを発生させます。

スライスを使用して範囲を指定して削除する方法

リストからスライスを使用して範囲を指定して削除するには、del文を使用します。

del文を使ってリストのスライスを指定することで、その範囲の要素を削除することができます。

# スライスを使用して範囲を指定して削除する例
fruits = ['りんご', 'ばなな', 'みかん', 'ぶどう']
del fruits[1:3]
print(fruits)  # ['りんご', 'ぶどう']

del文を使用すると、指定した範囲の要素が削除されます。

リスト内包表記を使用して要素を削除する方法

リスト内包表記を使用して要素を削除するには、新しいリストを作成し、条件に合致しない要素だけを取り出すことで、元のリストから要素を削除することができます。

# リスト内包表記を使用して要素を削除する例
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers = [x for x in numbers if x % 2 == 0]
print(numbers)  # [2, 4, 6, 8, 10]

上記の例では、偶数の要素だけを残すようにしています。

以上が、Pythonのリストから要素を削除する方法のいくつかです。

適切な方法を選んで、リストの要素を削除することができます。

目次から探す