从 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