從 Python 中的列表中刪除列表

Fariba Laiq 2023年10月8日
  1. 使用 Python 中的 remove() 方法從列表 a 中刪除列表 B
  2. 使用 Python 中的 difference() 方法從列表 a 中刪除列表 B
從 Python 中的列表中刪除列表

Python 中的列表是一種資料結構,其中包含專案的順序序列。我們可以對列表執行許多操作。假設我們要從列表 A 中刪除列表 B。這僅意味著我們要從列表 A 中刪除也存在於列表 B 中的專案。

例如,我們有一個列表 A,其中包含專案 ["Blue", "Pink", "Purple", "Red"],列表 B 包含專案 ["Silver", "Red", "Golden", "Pink"]。現在,如果我們從列表 A 中刪除列表 B,在輸出中,我們將得到列表 A 作為 ["Blue", "Purple"],因為這些專案也存在於列表 B 中。我們可以通過使用來完成此任務帶有列表的 remove() 函式或使用 set 資料結構可用的 difference() 函式。

使用 Python 中的 remove() 方法從列表 a 中刪除列表 B

在這個例子中,我們將使用列表 A 上的 remove() 方法刪除列表 A 和列表 B 中相似的專案。我們使用列表 A 的 remove() 方法,以便從列表中刪除專案列表 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 資料結構,有一個方法 difference() 將返回存在於集合 A 中但不存在於集合 B 中的專案。它僅返回集合 A 的不同項,它們在兩個集合之間是唯一的。但由於此方法可用於 set

因此,在我們的程式碼中,我們首先將兩個列表強制轉換為 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']
作者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

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

相關文章 - Python List