从 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']
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