Python でリストからリストを削除する
Python のリストは、アイテムの順序シーケンスを含むデータ構造です。リストに対して多くの操作を実行できます。リスト A からリスト B を削除したいとします。これは、リスト B にも存在するアイテムをリスト A から削除したいという意味です。
たとえば、リスト A にはアイテム ["Blue", "Pink", "Purple", "Red"]
が含まれ、リスト B にはアイテム ["Silver", "Red", "Golden", "Pink"]
。ここで、リスト A からリスト B を削除すると、これらのアイテムもリスト B に存在するため、出力でリスト A が ["Blue", "Purple"]
として取得されます。このタスクは、次のいずれかを使用して実行できます。リストを使用するか、set
データ構造で使用可能な difference()
関数を使用する remove()
関数。
Python で remove()
メソッドを使用してリスト a からリスト B を削除する
この例では、リスト A で remove()
メソッドを使用して、リスト A とリスト B で類似しているアイテムを削除します。リスト A で remove()
メソッドを使用して、アイテムがリスト A から削除されるようにします。リスト A ですが、リスト B は以前と同じになります。このコードでは、リスト A のアイテムを繰り返し処理し、そのアイテムがリスト B にも存在するかどうかを確認します。アイテムはリスト A から削除されます。
サンプルコード:
# Python 3.x
list_A = ["Blue", "Pink", "Purple", "Red"]
list_B = ["Silver", "Red", "Golden", "Pink"]
print("List A before:", list_A)
print("List B before:", list_B)
for item in list_A:
if item in list_B:
list_A.remove(item)
print("List A now:", list_A)
print("List B now:", list_B)
出力:
List A before: ['Blue', 'Pink', 'Purple', 'Red']
List B before: ['Silver', 'Red', 'Golden', 'Pink']
List A now: ['Blue', 'Purple']
List B now: ['Silver', 'Red', 'Golden', 'Pink']
Python で difference()
メソッドを使用してリスト a からリスト B を削除する
リスト A から同様のアイテムを削除する別の方法は、リスト B からそれらを減算することです。set
データ構造には、セット A には存在するがセット B には存在しないアイテムを返すメソッド difference()
があります。2つのセット間で一意であるセット A の異なるアイテムのみを返します。ただし、このメソッドは set
で使用できるためです。
したがって、このコードでは、最初に両方のリストをキャストしてセットし、次に set_A.difference(set_B)
関数を適用し、結果をリストデータ型にキャストして結果を list_A に再度格納します。
サンプルコード:
# Python 3.x
list_A = ["Blue", "Pink", "Purple", "Red"]
list_B = ["Silver", "Red", "Golden", "Pink"]
print("List A before:", list_A)
print("List B before:", list_B)
setA = set(list_A)
setB = set(list_B)
list_A = list(setA.difference(list_B))
print("List A now:", list_A)
print("List B now:", list_B)
出力:
List A before: ['Blue', 'Pink', 'Purple', 'Red']
List B before: ['Silver', 'Red', 'Golden', 'Pink']
List A now: ['Purple', 'Blue']
List B now: ['Silver', 'Red', 'Golden', 'Pink']
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn