📜  python 从列表中减去列表 - Python (1)

📅  最后修改于: 2023-12-03 15:04:14.153000             🧑  作者: Mango

Python 从列表中减去列表

在 Python 中,我们可以通过减法运算符 - 来从列表中减去另一个列表。这个操作会把两个列表中有相同元素的元素删除,并返回一个新的列表。

list1 = [1, 2, 3, 4, 5]
list2 = [2, 4, 6]
result = [x for x in list1 if x not in list2]

print(result)

上面的代码会输出 [1, 3, 5]。这里我们用了列表推导式来筛选出 list1 中不包含 list2 中元素的元素组成一个新的列表。

另一种方式是使用 Python 内置的 set 类型。我们将 list1list2 转换成 set 类型,然后计算它们的差集。

list1 = [1, 2, 3, 4, 5]
list2 = [2, 4, 6]
result = list(set(list1) - set(list2))

print(result)

这段代码同样会输出 [1, 3, 5]。这种方式比列表推导式更加高效,尤其是对于大型列表的处理。

总的来说,Python 中从列表中减去列表可以使用减法运算符或者 set 类型的差集操作,具体选择哪种方式主要看实际情况和个人喜好。